JavaWeb登陆成功后跳转到上一个页面(2)

简介: JavaWeb登陆成功后跳转到上一个页面


login函数

@Clear({LoginInterceptor.class})
  public void login() throws UnsupportedEncodingException {
    logger.info("进行会员登录操作...");
    // 获取用户名
    String name = getPara("username");
    // 获取密码
    String password = getPara("password");
    Members mem = Members.me.getMemByUsername(name);
    if (mem != null) {// 用户不存在
      // 密码不匹配
      if (!mem.getStr("password").equals(CipherUtils.generatePassword(password))) {
        ajaxDoneError("密码不正确!");
      } else {
        // 保存session
        setSessionAttr("username", mem);
        String forwardURL = getPara("forwardURL");
        if (forwardURL == null || forwardURL.equals("")) {
          forwardURL = "/";
        } else {
          forwardURL = URLDecoder.decode(forwardURL, "UTF-8");
        }
        ajaxDoneSuccess("登录成功!", forwardURL);
      }
    } else {
      ajaxDoneError("用户不存在!");
    }
  }


1. login函数中,将forwardurl取出来,作为**登录页**中的callback函数的参数值; 2. 具体ajaxDoneSuccess方法可以参照以下内容

public void ajaxDoneSuccess(String message, String forwardURL) {
    ajaxDone(200, message, forwardURL);
  }
protected void ajaxDone(int statusCode, String message, String forwardURL) {
  // 回调类型
    if (getAttr("callbackType") == null) {
      String callbackType = getPara("callbackType");
      if (callbackType != null && !callbackType.equals("")) {
        setAttr("callbackType", callbackType);
        if (callbackType.equals("forward") || callbackType.equals("closeCurrentThenForward")) {
          String contextPath = getRequest().getContextPath();
          if (forwardURL.indexOf(contextPath) == -1) {
            forwardURL = contextPath + forwardURL;
          }
          setAttr("forwardURL", forwardURL);
        }
      }
    }
    renderJson();
} 


如果有callbacktype参数,则将forwardurl作为json数据传递到前端的ajaxdone方法中。

ajaxDone方法

function ajaxDone(json) {
  YUNM.ajaxDone(json);
  if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) {
if ("forward" == json.callbackType) {
      if (json.forwardURL) {
        location.href = json.forwardURL;
      }
}
相关文章
|
1月前
|
Web App开发 SQL Java
javaweb实现分页(二)
javaweb实现分页(二)
19 1
|
1月前
|
SQL 关系型数据库 MySQL
javaweb实现分页查询(一)
javaweb实现分页查询(一)
19 0
|
1月前
|
SQL 关系型数据库 MySQL
javaweb中实现分页,持续更新……
javaweb中实现分页,持续更新……
16 1
|
1月前
|
前端开发 Java
java实现动态验证码源代码——jsp页面
java实现动态验证码源代码——jsp页面
13 0
|
30天前
|
前端开发 Java
java通过commons-fileupload实现多张图片的上传(jsp页面)
java通过commons-fileupload实现多张图片的上传(jsp页面)
16 2
|
1月前
|
Java Spring 容器
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
[JavaWeb]——过滤器filter与拦截器Interceptor的使用、执行过程、区别
|
1月前
JavaWeb 开发之 ServletContext 的和使用
JavaWeb 开发之 ServletContext 的和使用
23 1
|
27天前
|
SQL 前端开发 Java
Java后端进阶之路: JavaWeb(四)
Java后端进阶之路: JavaWeb
33 1
|
XML SQL Java
Java后端进阶之路: JavaWeb(三)
Java后端进阶之路: JavaWeb
30 1
|
1月前
|
数据采集 前端开发 JavaScript
Java网络爬虫实践:解析微信公众号页面的技巧
Java网络爬虫实践:解析微信公众号页面的技巧