Java 使用Struts2 s:使用getText()设置变量
将Struts2与JSP一起使用。以下代码可以正常工作:Java 使用Struts2 s:使用getText()设置变量,java,jsp,struts2,ognl,valuestack,Java,Jsp,Struts2,Ognl,Valuestack,将Struts2与JSP一起使用。以下代码可以正常工作: <s:if test="foo == bar"> <s:set var="keyValue">message.string1</s:set> </s:if> <s:else> <s:set var="keyValue">message.string2</s:set> </s:else> <s:text name="%{k
<s:if test="foo == bar">
<s:set var="keyValue">message.string1</s:set>
</s:if>
<s:else>
<s:set var="keyValue">message.string2</s:set>
</s:else>
<s:text name="%{keyValue}"/>
问题是,我无法在上面的getText()
调用中解决%{keyValue}
问题,无论我尝试什么语法:getText('{keyValue}')
,getText(%{keyValue})
,getText(keyValue)
,getText('keyValue')
它最终被计算为null。这是我的语法错误还是根本无法做到?如果必须的话,我知道我可以回去使用
和
,在每个下面都有一个提交标签:
<s:if test="foo == bar">
<s:submit value="getText('message.string1')" ../>
</s:if>
<s:else>
<s:submit value="getText('message.string2')" ../>
</s:else>
…但是如果可能的话,我希望避免重复。虽然在大多数情况下普通的
keyValue
会起作用,但最好在
标记的var
值前面加上
。
在整个表达式中只应使用一对%{}
<s:submit value="%{getText(#keyValue)}" />
虽然普通的
keyValue
在大多数情况下都可以工作,但最好在
标记的var
值前面加上
。
在整个表达式中只应使用一对%{}
<s:submit value="%{getText(#keyValue)}" />
试试
试试
虽然普通键值在大多数情况下都能工作
,那么你的意思是说在某些情况下它不能工作吗?@RomanC例如在这里
-不能工作。虽然普通键值在大多数情况下都能工作
,那么,你是说有些情况下它不起作用吗?@romac例如,在这里
-不起作用。