0

ストラット 2 の valuestack に値があるとします。jsp をコーディングするとき、この値の正確な変数名はわかりませんが、この値の変数名が別の変数名、たとえば「XXX」で保存されていることだけはわかります。

問題は、「XXX」を使用して値を取得する方法です。これを試してみましたが、機能していません。

<s:property value="${XXX}"/>
4

1 に答える 1

0

このアクションは、必要なデータを取得するための処理を行う必要があるため、ビューのデータをマーシャリングします。その音から、アクションは適切なデータをマップに収集できるように思えます。

ただし、奇妙なケースがあり、それがあるかもしれません。しかし、それに対処する前に、変数の名前しか知らない場合、実際の変数はどこにあると想定できますか? それは値スタックにありますか (そうであれば、直接アクセスするのを妨げているものは何ですか)? 値スタックにない場合は、静的メソッドの評価を有効にして適切な静的メソッドを作成する必要があります。これは、変数の名前のみが提供され、それが必要になる Java Bean のプロパティであると想定しているためです。リフレクションまたは apache beanutils を使用します。

一般に、ビューのアクションで必要なものを取得することをお勧めします。

また、jsp に値を設定するには、struts2 の set タグを知っていますか (これはおそらくあなたが望むものではありませんが、わずかな可能性があったので含めました)。参照: http://struts.apache.org/2.2.3.1/docs/set.html

于 2011-10-20T17:36:52.277 に答える