我正在尝试使用 set 标签在 Struts2 中创建一个动态变量
<s:set var="myNum" value="numConst" />
<s:set var="number" value="%{getText('@xxx.CommonConstant@'+#myNum)}" />
numConst
将返回从数据库中检索到的动态值。例如,如果值为 NINE,则数字应为@xxx.CommonConstant@NINE
我已经在我的 java 类中设置了值,以便@xxx.CommonConstant@NINE
返回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 ...
}
有谁能够帮我?