JSF组件之selectManyCheckbox默认default 勾选checked
来源:互联网 发布:中银淘宝校园卡欠费 编辑:程序博客网 时间:2024/06/05 20:40
本文主要讲解selectManyCheckbox在渲染初始化的时候如何默认勾选部分checkBox。
网络上JSF组件的知识太少了,被selectManyCheckbox默认勾选的情况搞死了,浪费大半天时间才想明白它的工作原理。
组件源码如下:
<h:selectManyCheckbox value="#{CarouselBackingBean.cityExistList}" id ="cityRelatedList"><c:forEach items="#{CarouselBackingBean.cityModifyList}" var="city"><f:selectItem itemLabel="#{city.adminDivisionCnNm}" itemValue="#{city.adminDivisionCd}" itemDisabled="#{city.validIn}"/></c:forEach></h:selectManyCheckbox >因为用的是公司的开发框架,部分和JSF标准不太一致,但是原理都是相通的。
cityModifyList中的实体类的属性和组成不重要,重要的是理解一下两点:
1.通过代码
<c:forEach items="#{CarouselBackingBean.cityModifyList}" var="city"><f:selectItem itemLabel="#{city.adminDivisionCnNm}" itemValue="#{city.adminDivisionCd}" itemDisabled="#{city.validIn}"/></c:forEach>
生成的标准JSF代码:
<f:selectItem itemValue="1" itemLabel="Item 1" itemDisabled ="true" /> <f:selectItem itemValue="2" itemLabel="Item 2" itemDisabled ="false" />
2.所有selectManyCheckbox中勾选的结果存储在CarouselBackingBean.cityExistList 中,数据结构与cityExistList 如何定义的完全没有一丝关系。JSF将它强制设定为List<String>类型。
3.每勾选一个checkBox,cityExistList 都会size+1,多一个成员;取消勾选则少一个。
明白以上几点相信大家知道如何解决这个问题。
标准做法如下:
该组件渲染时,在cityExistList中插入需要默认勾选的所有的itemValue。
范例:
我们要勾选
<f:selectItem itemValue="1" itemLabel="Item 1" itemDisabled ="true" />这个checkBox,则cityExistList中add一个String类型“1”即可。
附上JSF组件教程 http://www.tutorialspoint.com/jsf/jsf_selectmanycheckbox_tag.htm
- JSF组件之selectManyCheckbox默认default 勾选checked
- jsf学习之a4j组件
- JSF自定义组件之三 JSF实现-Tag
- JSF自定义组件之四 JSF实现-Component
- JSF自定义组件之五 JSF实现-Renderer
- JSF自定义组件之五 JSF实现-Renderer
- Java 8 之默认方法(Default Methods)
- JSF自定义组件之六 总结
- JSF Tree 组件之 rich:tree
- html_radio_默认checked(checkbox类似)
- C++对C扩展之默认参数(default)
- JSF自定义组件之二 加入Ajax功能
- 默认网关Default Gateway
- 实现图形JSF组件
- JSF 组件开发
- 实现图形JSF组件
- JSF标准组件使用说明
- JSF标准组件使用说明
- OCP-1Z0-053-V12.02-241题
- 这样不科学呀
- ZOJ 3551 —— 概率DP
- 用VC++实现Console程序显示彩色文本
- Dwr3.0与struts2一起使用的方法步骤详解
- JSF组件之selectManyCheckbox默认default 勾选checked
- openssl 的RSA 非对称加密算法
- Spring IoC容器--入门 二
- 求两个数的最大公约数和最小公倍数
- 利用ASIHttp实现文件的下载、上传和网络状态的监控
- 产品经理
- 敏捷软件开发
- 使用Mahout搭建推荐系统之入门篇3-Mahout源码初探
- chm文件的中文显示乱码问题解决