0

これは私が使用しているコードスニペットです

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");
                }

これは、追加ボタンをクリックすると呼び出されます 初めてクリックしたときは完全に機能しますが、2回目以降はelseブロックに入ります ie「トークンが無効です 所有者を追加します」 なぜそれがelseブロックに入るのか教えてください。

4

1 に答える 1

1

最初に呼び出す必要がありsaveToken()、Strutsフレームワークはtoken/keyリクエスト/セッションで生成します。次にリクエストを行うときに、このトークンが有効かどうかを確認できます。isTokenValidを呼び出したら、resetToken()メソッドも呼び出す必要があります。

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

マルチクリックの防止

于 2012-06-05T04:45:47.470 に答える