Struts2 Struts<;s:if>;标记不求值

Struts2 Struts<;s:if>;标记不求值,struts2,Struts2,如果我问了一个非常愚蠢的问题,我道歉。 我正在尝试一件非常简单的事情 <s:set name="tranType" value="%{'S'}" /> <s:if test="%{#tranType == 'S'}"> blah </s:if> 废话 这不工作,我得到以下错误。请让我知道我是否应该附加完整的堆栈跟踪。如果我在中使用多个字符作为值,那么它运行正常 java.lang.ClassCastException:java.lang.Cha

如果我问了一个非常愚蠢的问题,我道歉。 我正在尝试一件非常简单的事情

<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) 在org.apache.jsp.wrs.preview\u 005fwire\u 005fsplit\u 005famounts\u jsp.\u jspx\u meth\u s\u 005fproperty\u 005f5(preview\u 005fwire\u 005fsplit\u 005famounts\u jsp.java:348) 在org.apache.jsp.wrs.preview\u 005fwire\u 005fsplit\u 005famounts\u jsp.\u jspx\u meth\u s\u 005fiterator\u 005f1(preview\u 005fwire\u 005fsplit\u 005famounts\u jsp.java:292)


通过执行以下操作修复了此问题

<s:set name="tranType" value='%{"S"}' />
<s:if test='%{#tranType == "S"}'>
     blah
</s:if>

废话

将“转换为”,反之亦然。

我用我的struts-2.0.14版本运行了这个程序,我相信它可以按预期执行

我想问的一件事是:%{}真的有必要吗?它似乎没有改变任何事情