我正在尝试对String进行空检查,但它不起作用. s:iterator value="matrix" var="row" tr s:iterator value="value" var="col" td s:if test="%{#col==null}"0/s:if s:elses:property value="col"//s:else /td /s:iterator /tr/s:iterator 矩阵
<s:iterator value="matrix" var="row"> <tr> <s:iterator value="value" var="col"> <td> <s:if test="%{#col==null}">0</s:if> <s:else><s:property value="col"/></s:else> </td> </s:iterator> </tr> </s:iterator>
矩阵是一个
Map<Integer, List<String>>
var“col”从List中正确分配了一个String值.
列表可能看起来像这样[“hello”,null,“world]
当前输出:你好世界
通缉输出:你好0世界
/提前致谢
不用#就试试吧.<s:if test="%{col==null}">0</s:if>
我认为has将首先尝试解析’col’,并使用col的值作为属性名称.由于它是空的,它会将“”作为属性名称进行比较,属性名称是值堆栈的顶部.我不确定这会如何评估.
我总是使用这样的东西:
<s:if test="%{licenseStatusString != null}"> ... something that uses licenseStatusString </s:if>