标签

我在一个JSP页面中
<s:iterator value="menus" status="st" id="menuID">
	<tr>
		<td id="rownum"><s:property value= '#st.index+1' /></td>
		<td><s:property value="mainKind" /></td>
		<td><s:property value="subKind" /></td>
		<td><s:property value="menuId" /></td>
		<td><s:if test='#request.stopRmk=="1"'><s:checkbox name="stoprmk" value="true" /></s:if><s:else><s:checkbox name="stoprmk" /></s:else><s:property value="stopRmk" /></td>
		
		<td id="update">
			<a href="<s:url value ='menuUpdate.jsp'>
						<s:param name="mainKind"><s:property value="mainKind" /></s:param>
						<s:param name="subKind"><s:property value="subKind" /></s:param>
						<s:param name="menuId"><s:property value="menuId" /></s:param>
						<s:param name="stopRmk"><s:property value="stopRmk" /></s:param>
					</s:url>"><img src="update.png" />
			</a>
		</td>
	</tr>
</s:iterator>


上面的代码可以真确的设置checkbox的选中状态,即:当stopRmk=="1"时,checkbox为选中状态,否则是没有选中的状态.
但是通过参数:<s:param name="stopRmk"><s:property value="stopRmk" /></s:param>传递stopRmk的值时,在跳转的目的页面中:
<td><s:if test='%{#parameters.stopRmk=="1"}'><s:checkbox name="stopRmk" value="true"/></s:if> <s:else><s:checkbox name="stopRmk" /></s:else></td> 


却无法设置<s:checkbox>的选中状态:无论stopRmk的值是"1"还是"0",checkbox始终是没有选中的状态,也就是说:<s:if test='%{#parameters.stopRmk=="1"}'>总是不成立

而改为:
<s:if test='%{#parameters.stopRmk=="1"}'><s:checkbox name="stopRmk" value="true"/></s:if>

也不能正确设置checkbox的选中状态:无论stopRmk的值是"1"还是"0",始终是选中的,也就是说<s:if test='%{#parameters.stopRmk=="1"}'><s:checkbox name="stopRmk" value="true"/></s:if>

不知道这是为什么?

这个问题终于自己搞定了
<s:if test='%{#parameters.stopRmk[0]=="1"}'><s:checkbox name="stopRmk" value="true"/></s:if><s:else><s:checkbox name="stopRmk" /><s:textfield name="stopRmk" maxlength='100' value="%{#parameters.stopRmk}"></s:textfield></s:else>

或者
<s:if test='#parameters.stopRmk[0]==1'><s:checkbox name="stopRmk" value="true"/></s:if><s:else><s:checkbox name="stopRmk" /><s:textfield name="stopRmk" maxlength='100' value="%{#parameters.stopRmk}"></s:textfield></s:else>

你可能感兴趣的:(java,jsp)