<s:set name="tranType" value="%{'S'}" />
<s:if test="%{#tranType == 'S'}">
blah
</s:if>
这不起作用,我收到以下错误。请告诉我如果我应该附上完整的堆栈跟踪。如果我在值中使用多个字符,那么它运行正常。
java.lang.ClassCastException:java.lang.Character无法强制转换为java.lang.String 在org.apache.struts2.components.Property.start(Property.java:136) 在org.apache.struts2.views.jsp.ComponentTagSupport.doStartTag(ComponentTagSupport.java:54) at org.apache.jsp.wrs.preview_005fwire_005fsplit_005famounts_jsp._jspx_meth_s_005fproperty_005f5(preview_005fwire_005fsplit_005famounts_jsp.java:348) at org.apache.jsp.wrs.preview_005fwire_005fsplit_005famounts_jsp._jspx_meth_s_005fiterator_005f1(preview_005fwire_005fsplit_005famounts_jsp.java:292)
答案 0 :(得分:1)
通过执行以下操作来解决此问题。
<s:set name="tranType" value='%{"S"}' />
<s:if test='%{#tranType == "S"}'>
blah
</s:if>
将'转换为',反之亦然。
答案 1 :(得分:0)
我用我的struts -2.0.14版本运行了这个 - 我相信 - 它似乎按照需要执行。
我想问的一件事是:%{}真的有必要吗?它似乎没有改变任何东西。