0

struts2 を使用する場合、次のような OGNL 式を使用して、struts2 タグ内のセッション属性にアクセスできます。

#session['object_key']

問題は、その「object_key」文字列をハードコーディングするたびに、この式をさまざまなページで使用することです。オブジェクトをセッションマップに格納するために使用されるキーを簡単に変更できるように、任意の種類の名前付き定数を使用できる方法はありますか?

4

1 に答える 1

3

もちろん、静的定数を使用してください。これを実行する方法にはいくつかのオプションがあります。

デフォルト、完全修飾名を使用したアクセス:

<s:property value="#session[@app.Constants@OBJECT_KEY]" />

詳細については、「OGNLの基本」ページの「静的プロパティへのアクセス」を参照してください。

もう1つのトリックは、定数のクラスを値スタックにプッシュするインターセプターを設定し、定数の「見た目」のゲッターを使用することです。アクションでも同じことができます。たとえば、基本アクションクラスを使用できます。

次に、JSPで必要なのはこれだけです。

${session[OBJECT_KEY]}
于 2011-11-25T14:00:20.513 に答える