有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

struts中的java无效令牌

这是我正在使用的代码片段

if (isTokenValid(request)) 
                {
                    logger.debug("Add data to owner table");
                    System.out.println("Add data to owner table");

                    j=db.addRole(menuform);

                    if (j == 1)
                        menuform.reset(mapping, request);
                    else
                        request.setAttribute("recordModifyCount", 0);

                    message.add("recordmodify", new ActionMessage("record.insert", j));
                }
                else
                {
                    System.out.println("Token not valid Add owner");
                    logger.debug("Token not valid Add owner");

                    //message.add("recordmodify", new ActionMessage("record.insert", 0));
                    //forward=mapping.findForward("searchAllMenuPage");
                }

当我点击“添加”按钮时,就会调用这个函数 我第一次单击它时效果很好,但第二次和之后它进入else块,即“Token not valid Add owner” 请告诉我为什么它会进入else街区


共 (1) 个答案

  1. # 1 楼答案

    您需要首先调用saveToken(),Struts框架将在请求/会话中生成token/key。下次发出请求时,可以检查此令牌是否有效。调用isTokenValid之后,还需要调用resetToken()方法

    if (isTokenValid(request)) {
    .................
    ................
    resetToken(request);
    }
    

    Preventing multiple click