为什么我设置了用标签token后,不会自动获取一个session的id是不是浏览器问题,求高手strutssession

解决方案 »

  1.   

    是不是没有引入Struts标签
    <%@ taglib prefix="s" uri="/struts-tags" %>
      

  2.   

    其实解决重复提交的最有效办法就是ajax提交,后台做好ajax验证,前台必须点击按钮执行ajax事件才是有效的,按F5是无效的,比如:
    ajax.post("/login.htm", {user : 'admin', pwd : '123456'}, function(json) {
        if (json.success) {
            alert("登录成功");
            window.location.href = "/index.htm";
        } else {
            alert("用户名或密码错误");
        }
    });
    后台:
    /**
     * 用户登录
     */
    public Json login() {
    try {
    CommUtil.checkAjax(Constant.REQUEST_POST);// 验证必须是ajax访问
    String user = ParamUtil.paramString("user"), pwd = ParamUtil.paramString("pwd");
                            // 处理你的业务逻辑.....
    return new Json(true, Json.OPERATE_RIGHT_MESSAGE).addData("id", store.getId());
    } catch (Exception e) {
    log.error("用户登录", e);
    return new Json(false, e.getMessage());
    }
    }
    如果你代码这样写,就不存在有重复提交的可能
      

  3.   

     不是没有引入标签库,我今天写成<s:form><s:token/></s:form> 看源代码后能拿到session的id了,觉得3L说的有道理,可我只是学了js的ajax。代码有点看不懂。
      

  4.   

    不会自动获取一个session的id 是什么意思http://m635674608.iteye.com/blog/1395728