struts2中<s:checkboxlist/>的用法详解
2015-09-23 12:46
381 查看
struts2中<s:checkboxlist/>的用法详解
s:checkboxlist struts2Html代码
选择角色<br>
<s:checkboxlist list="#request.roleuserList" listKey="roleId" listValue="roleName" value="#request.rolelist.{roleId}" name="roleIds"></s:checkboxlist>
说明:
其中#request.roleuserList对应后台放入request作用域的roleuserList这个list;
listKey="roleId" 这里的roleId对应后台roleuserList中role这个bean的属性roleId,listKey也是将要传入后台的值;
listValue="roleName" 自然是显示在页面上的内容了;
value="#request.rolelist.{roleId}" 这句话的意思是,给s:checkboxlist选取默认值,将对应后台放入request作用域的rolelist这个list中的roleid组合成数组,
类似{1,2,3}这种,然后标签会自动匹配。
name="roleIds“ 这个roleIds可以在后台action中使用get set一个roleIds数组属性来取值,或者直接用request作用域取值,都要放数组中;
struts2的s:checkboxlist
struts2里增加了一个新的UT标签s:checkboxlist,下面介绍下使用方法。s:checkboxlist用于画面上显示一组复选框,缺省是横排输出,后面将介绍如何修改ftl文件使得它能按任意方式输出。
标签格式:
<s:checkboxlist name="" list="" listKey="" listValue="" value="" />
name-定义标签名,用于接收画面上选中的复选框,故应与Action里定义的属性一致,且多为数组;
list-定义集合变量,用于输出复选框到画面上,一般在Action里定义一个List或Map属性;
listKey-如果在Action里定义的是一个List,则往往会在List里定义一个Bean,它只有两个属性,其中一个(比如id)就在这里设置;
如果在Action里定义的是一个Map,则Map的key就在这里设置;
listValue-如果在Action里定义的是一个List,则往往会在List里定义一个Bean,它只有两个属性,另外一个(比如name)就在这里设置;
如果在Action里定义的是一个Map,则Map的value就在这里设置;
value-用于回显画面上被选中的复选框,假如画面有输入检查,如果有错则返回原画面并显示出错信息,这时候就需要使用它。
一般把它设成和name一致就可以了。
注意点:
为了能正确显示已被选中的复选框,一定要使得name的数组类型与listKey的类型一致。
比如,name设成String[] users,则listKey就要设成String id;如果name设成Integer[] users,则listKey就要设成Integer id;
修改ftl文件改变输出方式:
1.搜索struts2-core-xxx.jar,找到checkboxlist.ftl文件,拷贝出来;
2.在自己的工程的src下新建template.simple包,放置上述文件;
3.用文本编辑器打开该文件,修改成自己希望输出的格式,保存,OK;
相关文章推荐
- Struts - 标签库
- struts1.0于struts2.0的比较
- Struts2中关于namespace的学习心得
- Struts2----自定义action的学习心得
- HTTP Status 404 - There is no Action mapped for namespace [/] and action name [login!welcome] associ
- struts2.0拦截器(实现未登录的用户不能访问系统的页面)(转)
- 软件开发疑惑解答
- struts2登陆拦截器
- struts2框架原理
- web.xml
- web.xml
- struts2框架原理
- struts2登陆拦截器
- liferay中配置Struts2
- struts2 拦截器和actioninvocation
- Struts2拦截器配置
- stuts2注解
- Struts 2国际化
- Struts2自定义类型转换器分为局部类型转换器和全局类型转换器
- Struts2 错误处理