文档章节

Struts2的checkbox标签

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 566
阅读 10
收藏 0
点赞 0
评论 0

     

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。

本文转载自:http://blog.csdn.net/bluishglc/article/details/5987974

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
关于Struts2标签显示的问题

近用SSH2开发一个系统,在用到struts2 <s:checkbox >标签是发生了错位现象。如下图: 然后,我在<td><s:checkbox label="ischecked" name="checked" value="false" /></td>中添加代码 theme=......

Jerikc ⋅ 2012/09/02 ⋅ 0

jquery 获取struts标签的属性的值的时候返回的是struts的表达式

这是我的struts2标签: 我在js中获取属性riskItemCode的值的时候返回的是“%{#ir.riskItem.code}"字符串,而不是这个表达式所表示的值。 请问怎么解决,多谢!!!...

小鱼吹泡泡 ⋅ 2012/08/11 ⋅ 1

哪位兄弟用velocity做过类似 struts2的s:select s:radio s:checkbox标签的封装?

哪位兄弟用velocity做过类似 struts2的s:select s:radio s:checkbox标签的封装? s:select 标签中选项值LIST可以是LIST对象、MAP对象、数组对象等,哪位兄弟有做过这样的封装没? 小弟想不通...

干得好差 ⋅ 2013/07/31 ⋅ 4

struts常用的标签

001 Struts2常用标签总结 002 一 介绍 003 1.Struts2的作用 004 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的编写,而且,struts2的主题、模板都提供了很好的扩展性。实现了...

lzw_me ⋅ 2014/05/29 ⋅ 0

第五篇,jroo自定义标签篇

1、jroo中有不少自定义标签,如数据字典标签(select、checkbox、radio、view),权限标签,分页/排序/序号标签,国际化标签,位置标签等。 2、自定义标签篇 数据字典中设置的是系统的常量数据...

yeshujun ⋅ 2012/12/31 ⋅ 1

Struts2中的OGNL详解

首先了解下OGNL的概念: OGNL是Object-Graph Navigation Language的缩写,全称为对象图导航语言,是一种功能强大的表达式语言,它通过简单一致的语法,可以任意存取对象的属性或者调用对象的...

Failure ⋅ 2014/09/08 ⋅ 0

springMvc下的checkBox多选框 回显

springMvc下的checkBox多选框 回显,,,之前我写过 用struts2的 checked="true" > ${name} 现在换sp

Baclk5 ⋅ 2014/09/16 ⋅ 1

struts2传入数组(checkbox)到后台的处理方式

这是做一个简单的多选删除功能。 我看到好多人的做法是在jsp将多个选中的删除ID进行字符串拼接,然后传入后台。这样做比较麻烦。用了struts2就可以很好的解决这个问题。 下面是jsp页面的代码...

岳静 ⋅ 2012/07/18 ⋅ 0

Struts2中的标签

一、控制标签 控制标签有如下9个: 1)if:用于控制选择输出的标签; 2)else/if; 3)else; 4)append:拼接集合; 5)generator:字符串解析器,拆分字符串; 6)iterator:迭代器,遍历集合; ...

小伟_乌牛 ⋅ 01/11 ⋅ 0

Struts2 OGNL EL JSTL 四大标签的区别 (原帖不明。自留)

我之前虽然会用,但是一直分不清彼此之间有什么区别,所以查找资料,将它们进行整合区分,加深了解, 一 介绍 1.Struts2的作用 Struts2标签库提供了主题、模板支持,极大地简化了视图页面的...

SLoan_ ⋅ 2016/11/04 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java集合类总结笔记

一、集合类的层次关系 主要容器集合类的特点: ArrayList 一种可以动态增长和缩减的索引序列 LinkedList 一种可以在任何位置进行高效地插入和删除的有序序列 ArrayDeque 一种用循环数组实现的...

edwardGe ⋅ 3分钟前 ⋅ 0

spring RMI远程调用

RMI https://www.cnblogs.com/wdh1995/p/6792407.html

BobwithB ⋅ 9分钟前 ⋅ 0

Jenkins实践2 之基本配置

1 插件管理 系统管理->插件管理 在可选插件中可以自主安装插件 2 管理用户 系统管理->管理用户->新建用户 3 安全配置 系统管理->全局安全配置 授权策略 选择安全矩阵 然后添加现有的用户,赋...

晨猫 ⋅ 9分钟前 ⋅ 0

c++智能指针

1、是一种泛型类,针对指针类型的泛型类,会保存指针 2、重载了符号 *和-> 对智能指针使用这两个符号,相当于对保存的泛型使用这两个符号 3、当智能指针引用计数为0时,会去释放指针指向的资...

国仔饼 ⋅ 10分钟前 ⋅ 0

Spring Boot错误处理机制

1)、SpringBoot默认的错误处理机制 默认效果: 1)、浏览器,返回一个默认的错误页面 浏览器发送请求的请求头: 2)、如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAut...

小致dad ⋅ 11分钟前 ⋅ 0

ftp连接不上的终极办法 SFTP

假如FTP由于各种原因就是连不上,那么用SFTP协议吧,使用登录服务器的账号密码。

sskill ⋅ 16分钟前 ⋅ 0

Unity 围绕旋转角度限制(Transform.RotateAround)

在 Unity 中可以利用 Transform.RotateAround 围绕指定物体进行旋转,但某些情况下可能需要对旋转角度进行控制。我是先计算出预设角度大小,然后判断是否在限定角度范围内是则进行旋转。 相关...

大轩 ⋅ 17分钟前 ⋅ 0

阿里沙箱环境支付宝测试demo

阿里支付宝支付和微信支付,包括:阿里沙箱环境支付宝测试demo,支付宝支付整合到spring+springmvc+mybatis环境和微信整合到如上环境,功能非常齐全,只需要修改对应的配置文件即可,帮助文档...

码代码的小司机 ⋅ 19分钟前 ⋅ 0

JDK1.6和JDK1.7中,Collections.sort的区别,

背景 最近,项目正在集成测试阶段,项目在服务器上运行了一段时间,点击表格的列进行排序的时候,有的列排序正常,有的列在排序的时候,在后台会抛出如下异常,查询到不到数据,而且在另外一...

tsmyk0715 ⋅ 36分钟前 ⋅ 0

C++ 中命名空间的 5 个常见用法

相信小伙伴们对C++已经非常熟悉,但是对命名空间经常使用到的地方还不是很明白,这篇文章就针对命名空间这一块做了一个叙述。 命名空间在1995年被引入到 c++ 标准中,通常是这样定义的: 命名...

柳猫 ⋅ 41分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部