我在一个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>
分享到:
相关推荐
### Struts2 `<s:if>` 标签使用详解 #### 概述 Struts2 是一款基于 Java 的企业级 Web 应用框架,它利用了 MVC(Model-View-Controller)架构模式来帮助开发者构建可扩展、易于维护的 Web 应用程序。在 Struts2 中...
在Struts2框架中,`<s:if>`标签用于条件判断,类似于Java中的if语句。本篇文章将深入解析这段代码所涉及的关键知识点,并通过实际案例帮助理解如何使用Struts2中的`<s:if>`标签进行逻辑控制。 ### Struts2概述 ...
下面通过两个具体的场景来进一步说明如何在Struts2中正确地使用`s:if`标签: ##### 场景一:遍历列表并进行比较 ```xml <s:iterator value="FunTypeList"> <input type="radio" name="<s:property value='...
- `<s:if>`、`<s:elseif>` 和 `<s:else>` 标签用于实现条件判断逻辑。 - 示例: ```xml <s:if test="%{testBoolean}"> <p>这是显示的内容</p> </s:if> <s:elseif test="%{testBoolean == false}"> <p>这是另...
<td><s:property value="key" /></td> <td><s:property value="value" /></td> </tr> </s:iterator> ``` 在这个例子中,`myMap`是Action类中的一个Map属性,`iterator`标签会遍历Map的每个键值对,并使用`s:...
在这个例子中,`<s:iterator>`标签遍历一个名为`listOfObjects`的集合,`<s:if>`和`<s:else>`标签则根据`displayRow`变量的值决定是否渲染`<tr>`标签。`<s:property>`标签用于输出对象的属性值。 需要注意的是,`...
例如<s:if test="%{false}">标签内的内容在test的条件为false时不会被执行,而<s:elseif test="%{true}">标签内的内容则会在前一个<s:if>标签的条件为false时执行。 3. **迭代标签的应用**:文档中的<s:iterator>...
本文将详细讲解SSH框架中涉及到的五个关键标签:`set`、`push`、`if/elseif/else`、`iterator`以及`sort`,并结合它们在实际应用中的用法进行深入探讨。 ### `set`标签 `set`标签在Struts2框架中用于在Value Stack...
<p>名称:<s:property value="name"/></p> </s:iterator> ``` - **说明**:遍历一个集合或数组,并对每个元素执行标签体内的内容。 25. **`<s:label>`** - 显示标签。 - **示例**: ```jsp <s:label value=...
2. <s:elseif test=""></s:elseif> 3. <s:else></s:else>-----这3个标签一起使用,表示条件判断 F: 1. <s:fielderror></s:fielderror>-----显示文件错误信息 2. <s:file></s:file>-----文件上传 3. <s:...
7. 动态标签:`s:property` `s:property`标签用于显示Action类中的属性值或者表达式的计算结果: ```jsp <p>用户名:<s:property value="username" /></p> ``` 三、S标签的其他特性 1. 自定义标签:Struts2允许...
5. `<s:if>`和`<s:else>`:条件判断,控制页面元素的显示。 在这个用户管理实例中,`UserManager`可能是Action类的名字,它包含了处理用户管理操作的逻辑。例如,`addUser`方法用于添加用户,`deleteUser`用于删除...
`<s:elseif>` 条件判断标签 - **用途**:与`s:if`配合使用,进行多条件判断。 - **示例代码**: ```xml <s:if test="%{#age > 18}"> 成年人 </s:if> <s:elseif test="%{#age <= 18}"> 未成年人 </s:elseif> ...
`<s:if test="">`、`<s:elseif test="">` 和 `<s:else>` 这些标签用于条件判断,类似于 Struts 1.x 中的 `logic:present` 或 `logic:notPresent`。 **示例:** ```xml <s:if test="%{user != null}"> Welcome, ...
例如:<s:if test="%{false}"> <div>Will Not Be Executed</div></s:if><s:elseif test="%{true}"> <div>Will Be Executed</div></s:elseif> 4.1.4 append 标签 append 标签用来将多个 iterator 合并成一个 ...
`<s:if>`, `<s:elseif>`, `<s:else>`: - 这三个标签组合使用,提供了条件判断的能力,可以根据特定条件显示不同的内容。 F. `<s:fielderror>`, `<s:file>`, `<s:form>`: - `<s:fielderror>` 用于显示字段级别的...
<s:if test="#st.isEven()">现在的索引是奇数为:<s:property value='#st.index'/></s:if> 当前元素值:<s:property value='char'/> </s:iterator> ``` 3. **遍历Map** `value`属性可以直接设置为Map对象,或者...
(3) <s:if> 、<s:elseif>、<s:else> (4) <s:iterator> (5) <s:include> (6) <s:form>、<s:hidden> (7) <s:textfield>、<s:password>、<s:checkbox>、<s:textarea> (8) <s:select>、<s:radio>、<s:checkboxlist>
* <s:autocompleter>:自动完成 <s:combobox> 标签的内容,这个是 AJAX 实现的 B: * <s:bean>:类似于 Struts1.x 中的 JavaBean 的值 C: * <s:checkbox>:复选框 * <s:checkboxlist>:多选框 * <s:combobox>:...