2

Struts 2は、最初にValueStackの最上位オブジェクトに対してビューレンダリング中にすべてのプロパティ名を解決します。しかし、スタックの下位にあるオブジェクトの同じ名前のプロパティにアクセスするにはどうすればよいでしょうか。

例:

MyActionというActionクラスがあり、logDateプロパティがあるとします。このアクションが呼び出された後にレンダリングされたビューには、次のものがあります。

<s:iterator value = "users" status = "itStatus">
  <s:property value = "logDate" />
</ s:iterator>

ここで、UserオブジェクトにもlogDateプロパティがあるとします。反復中、Struts 2は常に現在のユーザーオブジェクトをValueStackの最上位にプッシュし、それに対してすべてのプロパティ名を効果的に解決します。しかし、アクションからlogDateにアクセスしたい場合はどうなりますか?これを行う正しい方法は何ですか?

4

1 に答える 1

3

インデックスを使用して、サブスタックを確認できます。例: [0].logDate は、スタックの停止位置から検索を開始し、ユーザー オブジェクトで logDate を見つけます。[1].logDate は 1 レベル深く検索を開始し、Action クラスで logDate を見つけます。このOGNL ページ(Accessing static properties ヘッダーのすぐ上のセクションを参照) にはさらに詳細があり、ここに別の説明があります。

于 2010-05-30T14:45:54.533 に答える