我有两个变量设置如下:
<s:set var="A" value="true" />
<s:set var="B" value="false" />
我想使用自定义属性info
生成下面的HTML:
<td info="truefalse"> </td>
我在JSP文件中尝试了以下行,但我无法在true
旁边获取false
:
<td info="<s:property value="#A?'true':'false'+#B?'true':'false'""/> </td>
输出:<td info="true"> </td>
<td info="<s:property value="#A" /><s:property value="#B" />"> </td>
输出:<td info="false"> </td>
答案 0 :(得分:2)
OGNL使用+
来连接字符串。要将布尔值转换为字符串,您应该执行类似
<s:property value="%{''+#A+#B}"/>
答案 1 :(得分:1)
使用<s:if>
试试这个
<s:set var="A" value="true" />
<s:set var="B" value="false" />
<td info="<s:if test="%{#A==true}">true</s:if><s:else>false</s:else><s:if test="%{#B==true}">true</s:if><s:else>false</s:else>"> </td>
OR
<td info="<s:property value="#A" /><s:property value="#B" />"> </td>
<强>输出:强>
<td info="truefalse"> </td>
原因:您无法连接Boolean
。您需要将Boolean
转换为string
,并且只能连接strings
。
答案 2 :(得分:0)
试试这个可能对你有帮助..
<td info="<s:property value="A"></s:property><s:property value="B"></s:property>"> </td>