<html:checkbox>的用途是把一个对象的属性(比如boolean)和页面的checkbox相对应。但是感觉它本身做的并不完美,实际使用有很多需要注意的地方。
1。对象属性值和checkbox对应。
假设我们的form有个属性class C1, 它有个boolean属性isChecked。我们有两种方式把这个属性的值显示到页面上:
<html:checkbox name="c1" property="default" value="true"/>
<html:checkbox property="c1.default" value="true"/>
显示效果是一样的,但是如果要提交的话,第一种会提交到request里面的default上面,因此无法跟对象自动绑定。所以我们应当使用第二种表示方式。
2。解决unchecked问题
经过上面的方式,我们可以把一个未checked的选中以后提交,后台对象的值相应变成true,但是把一个原值是true的却无法变为false!这可能跟html form提交就不传递该值有关,但struts确实不能帮我们自动处理。有两种方式解决这个问题,一种是在jsp里面加一个同名的tag:
<html:checkbox property="c1.default" value="true"/>
<input type="hidden" name="c1.default" value="false"/>
另一种方法是按照struts文档所说:
WARNING
: In order to correctly recognize unchecked checkboxes, the
ActionForm
bean associated with this form must include a statement
setting the corresponding boolean property to false
in the
reset()
method
分享到:
相关推荐
1. **创建复选框**:首先,在JSP页面上,使用`s:iterator`遍历数据集,并为每个元素生成一个`<s:checkbox>`。每个复选框的name属性应该相同,以便于在JavaScript中操作,而value属性则应该设置为当前迭代项的唯一...
<s:action name="tag2" executeResult="false" /> ``` 这会执行名为`tag2`的Action,`executeResult="false"`表示不执行结果映射。 3. **s:actionerror** - 显示错误信息标签 `s:actionerror` 用于显示Action...
- `<s:radio>`和`s:checkbox`:用于创建单选按钮和复选框,支持分组和绑定到Action类的属性。 - `<s:submit>`:创建提交按钮,触发表单提交。 - `<s:textarea>`:创建多行文本输入区域。 - `<s:select>`:创建...
<html:checkbox property="checkbox1" /> <html:checkbox property="checkbox2" /> <!-- 对于hobbies,可能会使用html:checkboxes标签来处理多选 --> ...
<%@ taglib prefix="s" uri="/struts-tags" %> 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. <s:a href=""></s:a>-----超链接,类似于html里的<a></a> 3. <s:...
7. **Select Tags**: `<s:select>`、`<s:checkbox>`、`<s:radio>`等,用于创建下拉框、复选框和单选按钮,支持动态加载选项和多选功能。 8. **Action Error and Field Error Tags**: 如`<s:actionerror>`、`<s:...
- `<s:checkbox>`和`<s:radio>`:创建复选框和单选按钮。 - `<s:select>`:创建下拉列表,可以从Action的属性或静态资源中获取选项。 - `<s:if>`和`<s:else>`:条件判断,类似于JSP的`<c:if>`和`<c:else>`。 - `...
- `<s:optgroup>` 用于组织下拉框的选项,例如:`<s:select list="myOptions"><s:optgroup label="Group1">...</s:optgroup></s:optgroup></s:select>`。 N. `<s:optiontransferselect>` 左右选择框,允许用户在两...
除了`<s:textfield>`,Struts2还提供了多种表单标签,如`<s:password>`用于创建密码输入框,`<s:textarea>`用于创建多行文本输入框,`<s:radio>`和`<s:checkbox>`用于创建单选按钮和复选框,以及`<s:select>`用于...
1. **a标签**:`<s:a>` 标签是HTML `<a>` 标签的增强版,用于创建超链接。例如: ```jsp <s:a href="login.action">登陆</s:a> ``` 这将生成一个指向`login.action`的链接,可以进行Action调用。 2. **action标签**...
1. `<s:bean>` - 类似于Struts1中的JavaBean操作,但在Struts2中使用较少,因为Struts2更倾向于使用OGNL表达式来访问对象。 **C组标签:** 1. `<s:checkbox>` - 创建复选框,可以绑定到Action的属性。 2. `<s:...
这段代码展示了如何使用`<html:form>`创建一个表单,以及如何使用`<html:text>`、`<html:password>`、`<html:radio>`和`<html:select>`等标签来构建不同的表单元素。此外,通过设置`property`属性,可以实现表单数据...
1. `<s:a>`:这是用于创建超链接的标签,例如`<s:a href="login.action">登陆</s:a>`,它可以链接到指定的Action,提供了一种更加语义化的链接方式。 2. `<s:action>`:这个标签允许在JSP页面中直接调用Action。...
`<s:form>` 标签用于创建 HTML 表单,而 `<s:textfield>`、`<s:textarea>` 和 `<s:checkbox>` 等标签则用于创建输入控件。 ```jsp <s:form action="saveUser"> <s:textfield name="username" label="用户名" /> ...
4. `<html:radio>`、`<html:checkbox>`:用于创建单选按钮和复选框,通常与一个逻辑属性关联。 5. `<html:select>`、`<html:option>`:用于创建下拉列表,`<html:option>`定义每个可选项。 6. `<html:link>`:创建...
邮箱:<s:property value="email" /><br/> </s:iterator> ``` 如果`users`是一个包含多个用户对象的列表,则这段代码会遍历每个用户并输出用户名和邮箱。 ##### 5. `<s:include>` 标签 - **用途**:包含其他...
- `<html:checkbox>`和`<html:radio>`:用于创建复选框和单选按钮。 - `<html:submit>`和`<html:reset>`:用于创建提交和重置按钮。 2. 控制流程标签: - `<logic:equal>`和`<logic:notEqual>`:用于比较两个值...
<action name="tag1" class="lee.TagAction"> <result name="done">succ.jsp</result> </action> <!-- 定义第二个Action,使用lee.TagAction的login方法作为处理逻辑 --> <action name="tag2" class="lee....
- `<s:checkbox>`和`<s:radio>`:创建复选框和单选按钮,可以与Action类中的数组或List类型属性关联。 - `<s:submit>`:提交按钮,触发表单的提交事件。 4. **控制流标签(Control Flow Tags)** - `<s:include>...
<s:action name="tag2" executeResult="false"/> ``` - **更多信息**:`executeResult` 属性用于控制是否执行Action中的 `execute` 方法。 ##### 3. **`<s:actionerror>` 标签** - **功能**:输出错误信息到...