我的JSP中有以下代码,我使用Struts2
<s:iterator value="incentiveList" status="stat">
<tr>
<td><s:checkbox name="checkboxes[%{#stat.index}]" theme="simple" /></td>
<td></td>
<td><s:property value="marketingAmount" /> <s:hidden value="%{incentiveList.marketingAmount}" /></td>
<td></td>
<td></td>
<td></td>
<td><s:property value="marketingIncentive" /></td>
<td></td>
<td></td>
<td></td>
<td><s:property value="advertizingIncentive" /></td>
<td></td>
<td></td>
<td><s:property value="channelPlacementIncentive" /></td>
<td></td>
</tr>
</s:iterator>
</table>
</br>
</br>
<s:if test="#status.index gt 0">
<s:submit id="submitButton" name="submit" value="Submit Incentives" onclick='return closeWindow()'/>
</s:if>
<s:else>
<s:submit id="submitButton" name="submit" value="Submit Incentives" onclick='return closeWindow()' disabled="true"/>
</s:else>
现在我想启用submitButton,如果上面的incentiveList有任何值,即count gt 0并实现这一点,我在下面的代码中使用
<s:if test="#status.index gt 0">
<s:submit id="submitButton" name="submit" value="Submit Incentives" onclick='return closeWindow()'/>
</s:if>
<s:else>
<s:submit id="submitButton" name="submit" value="Submit Incentives" onclick='return closeWindow()' disabled="true"/>
</s:else>
但它不起作用,如果遗漏了任何内容,请更正
答案 0 :(得分:1)
如果incentiveList
没有值,那么您不会获得任何内容,而不仅仅是按钮。你最终会得到无效的<table></table>
代码,那么<s:if>
也应该放在迭代器周围:
<s:if test="incentiveList.size()>0">
<!-- iterator here -->
<!-- buttons here -->
</s:if>
P.S:IteratorStatus是迭代器范围的(和迭代范围的),它不会存在于Iterator之外,因为它带有关于当前迭代元素的信息,所以它将毫无用处