0

うまく機能するフォームの二重送信をブロックするトークンインターセプターがありますが、状況に応じてトークンをリセットしたいと考えています。

基本的に、ページにあるのは基準のリストと送信ボタンです。ユーザーが送信ボタンをクリックすると、基準がデータベース内の特定のテーブルに新しい行として保存されます。ajax 呼び出しは、成功または失敗のメッセージでフォームの下の div を更新します。トークンは、ユーザーが重複した行を追加しようとしたくないという点で機能します。ただし、ユーザーが条件を変更した場合 (ドロップダウン メニューで別のオプションを選択するか、s:textfield のテキストを編集することにより)、トークンをリセットして、フォームの送信を再度許可する必要があります。現在、ユーザーは戻って新しいフォームに入力する必要があり、これはやや不便です。

.jsp で標準の s:token を使用し、struts.xml でインターセプター行を使用しています。トークンをリセットするものを探していましたが、何も見つかりませんでした。ありがとう。

4

2 に答える 2

2

トークンは、セッションの下"struts.token"および形式の値"struts.token.name"です。

下でAjaxリクエストを行うのが最も簡単なのは、セッショントークンをフォームに既に存在するものに設定するか、独自のトークンインターセプターを作成することです(静的なTokenHelperクラスを使用しますが、これは非常に短いですが、残念です–「複数の」送信の定義を変更することに注意してログに記録します。(フォームvalのハッシュ?わからない、これほど多くのことを考えたことはない。)

于 2012-08-17T21:14:11.353 に答える
0

Googleで回答が見つからず、ここで回答が得られないようです。そのため、JavaScriptを呼び出してページを更新し、トークンとフォーム。最もエレガントではありませんが、機能します。

于 2012-08-17T20:35:23.667 に答える