セットタグを使用してStruts2で動的変数を作成しようとしています
<s:set var="myNum" value="numConst" />
<s:set var="number" value="%{getText('@xxx.CommonConstant@'+#myNum)}" />
numConst
データベースから取得した動的な値を返します。たとえば、値が NINE の場合、number は次のようになります。@xxx.CommonConstant@NINE
@xxx.CommonConstant@NINE
を返すように、Java クラスに値を設定しました9
。
今のところ、テキストタグを使えば問題なく値を表示できます
<s:text name="%{getText(#number)}" />
戻り9
ますが、プロパティタグを使用しようとすると正しく表示されません
<s:property value="%{getText(#number)}" />
<s:property value="%{#number}" />
<s:property value="#number" />
<s:property value="%{getText('%{getText(#number)}')}" />
上記のすべての例で、値は@xxx.CommonConstant@NINE
. プロパティ タグから値を取得しようとする理由は、値を表示する正しい方法をコピーして、以下の例のように if タグで使用できるようにするためです。
<s:if test="#number == 9">
do something
</s:if>
また
<s:if test="%{getText(#number)} == 9">
do something
</s:if>
共通定数:
package xxx;
public abstract class CommonConstant {
public static final int NINE = 9;
public static final int NINEONE = 91;
public static final double ADMIN_PGM = 1.4;
// ... omitted ...
}
誰でも私を助けることができますか?