1

私は S2 を学習し、アプリケーションに取り組んでいます。現在、自分のアクション クラスで ParameterNameAware を使用したいと考えていますが、その前に、自分自身にいくつかの質問を明確にしたいだけです。私を助けてください...

  1. ParameterNameAware の仕組み (基本的な知識はあるが説明が必要)
  2. acceptableParameterName が呼び出される頻度
  3. アプリケーションを実行し、acceptableParameterName メソッドからパラメーター (文字列) を出力しようとすると、入力パラメーター以上の値が返されます。それらは何であり、このメソッドが実際に提供するものです。
  4. 許容できないパラメーターを回避する最善の方法は何ですか (ParameterNameAware を除く)。

これらの質問のいずれかが意味をなさない場合は無視してください。

より多くの説明をいただければ幸いです。前もって感謝します :-)

4

1 に答える 1

1

ここでは、ポイントをより明確にするためのいくつかの入力を示します。

このインターフェースの全体的な考え方は、有効なパラメーター名のリストを維持し、このリストにない要求パラメーターを拒否することです。

アクションが特定の値のセットのみを受け入れるようにする場合はParameterNameAware、アクションにインターフェイスを実装して、アクション クラスに対してのみ特定のパラメーターのセットを受け入れたいというメッセージを基礎となる S2 フレームワークに渡す必要があります。

Parameters Interceptorは A からすべてのパラメータを取得しctionContext.getParameters()、 を呼び出して値スタックに設定しますValueStack.setValue(String, Object)ParameterNameAwareアクション クラスでパラメーターを設定しているときに、インターフェースがアクション クラスによって実装されParametersInterceptor.ている場合、Interceptor はパラメーターがアクション クラスで許可されているかどうかを確認し、許可されたパラメーターのみを設定します。

パラメータのブラックリスト登録またはホワイトリスト登録を処理する他の方法は、パラメータのリストをacceptParamNamesまたはexcludeParamsパラメータとしてに渡すことParametersInterceptorです。

于 2012-09-25T03:23:50.467 に答える