`
Sobfist
  • 浏览: 31736 次
  • 性别: Icon_minigender_1
  • 来自: 邯郸
社区版块
存档分类
最新评论

struts2的s:checkbox使用

阅读更多
html中的checkbox标签有一个特殊的地方,如果一个checkbox未被选中,那么它将不会出现在请求参数中。比如如下的例子:
<form action="#">
    <input type="checkbox" name="options" value="option1"/>
    <input type="checkbox" name="options" value="option2"/>
    <button type="submit">submit</button>
</form>
(补充说明:对于checkbox,如果没有显式地指明value值,那么它会有一个默认值“on”)
当我们同时选中option1和option2时,请求的URL是....?options=option1&options=option2,但是如果单独选择option1,url就会变成....?options=option1,option2的选择情况不会提交到后台。在struts2这种直接将请求参数绑定至后台数据项上的框架里,这会带来一些麻烦。如果我们想让一个option2对应到后台的boolean值,最初option2是选中的,后台对应数据值也是true,但是在当下的提交中,option2不再被勾选,但是提交的请求中却没有关于option2已不再被勾选的信息(比如给一个...$option2=off...之类的参数),这样后台option2对应的数据项就不会更新。因此,struts2的s:checkbox标签为了避免这一问题,在生成html片断的同时会生成一个隐藏域。(需要特别说明的是:struts2的s:checkbox标签和html中的checkbox是有本质区别的。s:checkbox是一种专门用来传递boolean类型数值的控件,它后台对应的数据项必须是一个boolean类型的值!因为它是通过生成html的checkbox形式来实现的,所以,它必须要生成一个隐藏域来确保当checkbox未被勾选时它能传递信息回后台。和html中的checkbox功能相类似的是s:checkboxlist,而不是s:checkbox)如:
<s:checkbox label="inStock" key="inStock"/>
将会生成如下html片断:
<input type="checkbox" name="inStock" value="true" id="ActionName_inStock"/>
<input type="hidden" name="__checkbox_inStock" value="true"/>
如果checkbox被选中,那么checkbox和隐藏域的值都会被提交。如果checkbox没被选中,隐藏域就起到了作用,它的值会提交到后台,拦截器检查发现只有隐藏域提交了,表明checkbox没有被选中,这样,拦截器会自动调用对应属性的setter并设为false。
分享到:
评论

相关推荐

    解决struts2的s:checkbox显示难看问题

    在Struts2框架中,`s:checkbox`标签用于创建复选框,但在实际使用过程中,用户可能会遇到显示效果不理想的问题。这个问题通常涉及到样式、布局或者与其他UI组件的兼容性。本文将深入探讨如何解决Struts2的`s:...

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    在这个场景中,我们关注的是`s:iterator`标签和`s:checkbox`的使用,它们是Struts 2 中视图层(JSP)的重要组件,用于迭代数据集合并呈现复选框。在Web应用中,用户经常需要进行全选和反选的操作,这通常在管理多个...

    struts2的checkboxlist标签换行

    在Struts2的标签库中,`&lt;s:checkboxlist&gt;`标签主要用于创建多个复选框,每个复选框对应一个值。这个标签接受多个参数,如`list`(用于指定选项的集合)、`name`(用于指定表单字段名)和`label`(用于指定每个选项的...

    struts2对于checkboxlist的换行

    在Struts2中,处理用户输入是常见的任务,而`checkboxlist`是用于展示一组可选复选框的组件。这篇博客讨论的是如何在Struts2中处理`checkboxlist`的换行问题,这在创建多列或美观的表单布局时非常有用。 `checkbox...

    (原创)struts标签之checkboxlist选中值并换行处理

    本文将详细介绍如何利用Struts的`&lt;s:checkboxlist&gt;` 标签实现默认选中某些选项以及如何在显示时自动换行。 #### 二、CheckboxBean实体类设计 为了更好地理解`&lt;s:checkboxlist&gt;` 标签的使用,我们首先定义一个简单...

    struts2的s标签

    要在JSP页面中使用Struts2的S标签,首先需要在页面顶部添加如下声明: ```jsp &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; ``` 这行代码的作用是将Struts2提供的标签库导入到当前JSP页面中,并指定前缀为“s”。...

    巧用struts标签之checkboxlist选中默认值换行处理

    在JSP页面中,我们使用`&lt;s:checkboxlist&gt;`标签来渲染复选框列表: ```jsp &lt;s:checkboxlist name="appTypeIds" theme="simple" list="allCheckboxBeans" listKey="id" listValue="name" value=...

    struts 2 s标签 struts 2 s标签

    这些只是Struts 2 S标签库中的一部分,实际上还有许多其他标签,如`s:textfield`(文本字段)、`s:textarea`(文本区域)、`s:submit`(提交按钮)等等,它们极大地简化了MVC模式中的视图层开发。通过合理使用这些...

    struts2.0 checkbox标签使用问题

    在Struts2中,`&lt;s:checkbox&gt;`标签通常与`name`属性一起使用,这个属性对应于Action类中的字段,用于接收用户的选中值。例如: ```jsp &lt;s:checkbox name="interests" value="Java" label="Java"/&gt; &lt;s:checkbox name=...

    struts2标签chekboxlist实现竖排代码

    `checkboxlist`是Struts2标签库中的一个组件,用于显示一组可选的复选框。在默认情况下,这些复选框通常是横向排列的。然而,在某些设计需求下,可能需要将这些复选框以竖向方式展示。本篇将详细解释如何在Struts2中...

    struts2 标签库 帮助文档

    &lt;%@ taglib prefix="s" uri="/struts-tags" %&gt; 就能使用struts2.0的标签库 下面就介绍每个标签的具体应用实例说明:按字母排列 A: 1. 2. &lt;s:a href=""&gt;&lt;/s:a&gt;-----超链接,类似于html里的&lt;a&gt;&lt;/a&gt; 3. &lt;s:...

    Struts2标签库

    &lt;%@ taglib uri="/struts-tags" prefix="s" %&gt; 结合例子,重点掌握以下标签的用法 (1) &lt;s:property&gt; (2) &lt;s:set&gt; (3) &lt;s:if&gt; 、&lt;s:elseif&gt;、&lt;s:else&gt; (4) &lt;s:iterator&gt; (5) &lt;s:include&gt; (6) &lt;s:form&gt;、&lt;s:hidden&gt; (7...

    struts2标签使用例子

    在压缩包中的"example"文件可能包含了一个或多个使用Struts2标签的实际示例,可以参考这些示例来理解和学习Struts2标签的用法。通过实践,你会更好地掌握这些标签的功能和用法,从而在开发过程中更加得心应手。

    Struts2全部标签使用说明

    以上只是Struts2标签库的一部分,实际使用中还有更多标签如`&lt;s:textfield&gt;`(文本输入框)、`&lt;s:textarea&gt;`(文本区域)、`&lt;s:submit&gt;`(提交按钮)等,每个都有其特定的用途,极大地简化了JSP页面的编写。...

    struts2标签解析

    以上只是Struts2标签库中的一部分,实际上,还有更多如`s:actionerror`、`s:debug`、`s:include`等标签,它们各自承担着特定的任务,共同构建起强大的MVC框架。熟练掌握这些标签,能让你的Struts2应用更加高效、整洁...

    Struts2之struts2标签库了解和使用案例struts025

    Struts2是一个强大的Java EE应用程序框架,用于构建和维护可扩展、模块化和易于管理的Web应用程序。在Struts2中,标签库是其核心组件之一,极...学习并熟练掌握Struts2标签库的使用,是每个Java Web开发者必备的技能。

    struts2-s标签

    ### Struts2 S 标签库详解 #### 引言 Struts2 是一款流行的 Java Web 开发框架,它提供了一系列强大的功能来帮助开发者构建健壮的 Web 应用程序。其中,Struts2 的标签库是其核心特性之一,为开发者提供了丰富的 ...

    struts2标签库

    但Struts2的`&lt;s:action&gt;`提供了更高级的功能,比如可以通过name属性指定Action的名称,并且可以使用额外的参数来传递数据。 #### 2. `&lt;s:actionerror&gt;` 和 `&lt;s:actionmessage&gt;` - **`&lt;s:actionerror&gt;`**:用于显示...

    Struts2标签使用及API文档

    `struts2标签用法.doc`和`标签详解`文件可能包含更深入的标签用法和实例,例如如何使用`s:form`创建表单,如何利用`s:action`执行Action,以及如何使用`s:debug`标签进行调试等。 5. **Struts2标签的高级用法** -...

Global site tag (gtag.js) - Google Analytics