登录后返回登录前的页面

首先将一个变量currentURL设置为要返回的地址,进入登陆的页面的时候将其用隐藏域

保存,登录时,将其又传回登录的方法中,登陆成功就重定向到currentURL保存的地址

 private String currentUrl;
    /**
     * 前往登录界面
     * 
     * @return result的name
     * @since 1.0
     */
    public String toLoginPage() {
        // 得到登陆前的地址,方便登陆后的返回
        if ("index".equals(currentUrl)) {
            this.currentUrl = null;
        } else {
            String URL = getHttpServletRequest().getHeader("Referer");
            String args = getHttpServletRequest().getQueryString();
            if (URL == null) {
                this.currentUrl = null;
            } else {
                if (args != null) {
                    this.currentUrl = URL + "?" + args;
                } else {
                    if (URL.contains("login_toLoginPage") || URL.contains("registe_toRegistePage")) {
                        this.currentUrl = null;
                    } else {
                        this.currentUrl = URL;
                    }
                }
            }
        }
        return "toLoginPage";
  }
  


你可能感兴趣的:(struts2,杂谈)