1

struts アプリケーションにSynchronizer Tokenを実装する場合、すべてのフォームを編集してトークンに何らかのタグを追加する必要がありますか?それとも struts によって自動的に行われますか?

4

1 に答える 1

1

アクションのsaveToken()メソッドがトークンを生成し、それをセッション スコープに配置すると、html:formタグがトークンをページに自動的に追加します。

html:formカスタム タグ ハンドラのコード スニペットを次に示します。

String token = (String) session.getAttribute(Globals.TRANSACTION_TOKEN_KEY);
if (token != null) {
  results.append("<input type=\"hidden\" name=\"");
  results.append(Constants.TOKEN_KEY);
  results.append("\" value=\"");
  results.append(token);
  if (this.isXhtml()) {
      results.append("\" />");
  } else {
     results.append("\">");
  }
}

したがって、Strutshtml:formタグを使用している場合は、何もする必要がなく、Struts がフィールドの追加を処理します。代わりに従来の HTML フォーム タグを使用する場合は、自分でフィールドを追加する必要があります。

于 2010-02-02T07:37:20.563 に答える