尝试评估以下但似乎无法正常工作
<s:set name="infoType" value='%{"info.aero.aeroType"}' />
<s:if test='%{#infoType == "A"}'>
<span> got it </span>
</s:if>
aeroType
的返回类型是在Java类中设置的String,它返回字母“A”或“B”。如果infoType是A,我需要执行一些计算。如何使这个工作?
答案 0 :(得分:1)
使用 var 代替名称,because it is deprecated
General info on validating one character Strings(你已经在翻译引号,然后这部分是正确的)
这是您的真正问题:您在<s:set
值附近加上双引号;这样你就告诉OGNL采用那个文字字符串,而不是从堆栈中读取一个对象;
然后改变这个
<s:set name="infoType" value='%{"info.aero.aeroType"}' />
到这个
<s:set var="infoType" value="%{info.aero.aeroType}" />
它会工作