`
lxdhdgss
  • 浏览: 45245 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

用JSF的selectBooleanCheckbox对表格数据进行选取

    博客分类:
  • JAVA
阅读更多
现在已经有不少JSF实现了,如RI、myFaces、ADF、ICEFaces等,但是像myFaces、ADF太杂,速度太慢,所以原始的JSF-RI还是我开发的首选。
RI也经常让我苦恼,因为很多东西都要自己写。比如表格的行选取这个问题。
想要像邮箱那样在列表的最前面打勾,就可以对这行记录进行操作,我花了不少力气,网上搜的内容都不能实现,最后还是硬着头皮自己摸索出来了!
下面说一下我的不成熟的经验之谈。
<h:dataTable width="700px" id="objectList" rows="10" columnClasses="col"
             styleClass="t_all" value="#{supBack.ldm}" var="list" headerClass="t_header" 
             frame="box" rules="rows" border="1"  cellspacing="0" >
                <h:column id="spchecked">
                    <f:facet name="header"><h:outputText styleClass="headerText" value="选择" /></f:facet>
                    <h:selectBooleanCheckbox value="#{list.selected}" />
                </h:column>
                <h:column id="spid">
                    <f:facet name="header"><h:outputText styleClass="headerText" value="编号" /></f:facet>
                    <h:outputText value="#{list.spId}"/>
                </h:column>
                <h:column id="spname">
                    <f:facet name="header"><h:outputText styleClass="headerText" value="名称" /></f:facet>
                    <h:outputText value="#{list.spName}"/>
                </h:column>

   ......

 </h:dataTable>
           <br/>   
           <h:commandButton value="选取" action="#{supBack.tableCheckAction}"/>


当然,我在POJO里多加了一个private boolean selected,与list.selected对应。
BackBean是关键,dataTable的value我用ListDataModal,因为它可以控制数据行。
 private ListDataModel ldm;

   ......

//给dataTable的value
 public ListDataModel getLdm(){
		if(this.ldm==null){
		  ldm= new ListDataModel();
		  ldm.setWrappedData (supService.getSupList());
		}
           //上面的if(){}非常重要,它防止了按“选取”按钮后ldm被初始化,保存了
             //我们勾选后的状态。如果没有的话,ldm又被supService.getSupList()
           //重新赋值了。
		return ldm;
	}

  .......
  
//表格选取
	public void tableCheckAction(){
		List<Supplier> beCheckList=new ArrayList<Supplier>();
		List<Supplier> cklist=(List<Supplier>)ldm.getWrappedData();
		Iterator<Supplier> ckit=cklist.iterator();
		while(ckit.hasNext()){
			Supplier sp=ckit.next();
			if(sp.isSelected()){
				beCheckList.add(sp);
			}
		}
//检验打印结果
		Iterator<Supplier> it=beCheckList.iterator();
		System.out.println("被选择的记录:");
		while(it.hasNext()){
			Supplier ckSp=it.next();
			System.out.println(ckSp.getSpId()+" "+ckSp.getSpName());
		}
	}

   .......



如果你还有疑问,可以联系我,EMAIL:lxdhdgss@gmail.com
GOOD LUCK!

帮朋友挂个链接:杭州印刷
3
0
分享到:
评论

相关推荐

    JSF数据表绑定数据

    - **筛选**:可以添加`filterBy`属性,让用户通过输入框对数据进行筛选。 - **行选择**:`selection`属性允许用户选择特定行,这对于执行单行操作非常有用。 - **编辑模式**:`editable`属性控制单元格是否可编辑...

    用jsf页面动态创建表格

    ### 使用JSF页面动态创建表格 #### 背景与目的 在开发Web应用程序时,经常需要根据不同的数据集或用户操作动态生成表格。JavaServer Faces(简称JSF)是一种用于构建服务器端Java应用程序的标准技术,它允许开发者...

    使用NetBeans进行基础JSF开发

    2. **JSF组件**:JSF提供了一系列预定义的UI组件,如按钮、输入字段、表格等,开发者可以通过XML(通常在`.xhtml`文件中)或Java代码来声明和使用这些组件。 3. ** Managed Beans**:Managed Beans是JSF中的核心...

    用jsf做的登录注册的组件

    JSF(JavaServer Faces)是...通过研究这些文件,你可以深入理解JSF如何处理用户输入,如何进行数据验证,以及如何与其他服务(如邮件服务)集成。不过,根据描述中的建议,这个示例可能存在问题,下载前需要谨慎考虑。

    JSF精美登陆跳转,自定义数据验证

    - **内置验证**:JSF 提供了内置的数据验证机制,例如在`&lt;h:input&gt;`标签中使用`required`属性进行非空验证,或者使用`validator`属性调用自定义验证器。 - **自定义验证器**:当内置验证不够用时,开发者可以创建...

    jsf 上传 操作Excel 导入数据库中 浏览器打开Excel表格

    在IT行业中,JavaScript Server Faces(JSF)是一种用于构建企业级Web应用的Java框架,而本文将重点关注如何在JSF环境中实现Excel文件的上传、处理并将其内容导入到数据库中,以及在浏览器中预览Excel表格。...

    jsf入门(pdf格式)

    它定义了一套标准的UI组件库,如按钮、文本框、表格等,开发者可以通过XML或JSF特定的标签来使用这些组件。这使得界面设计变得更加直观和高效。 JSF的生命周期是其工作方式的关键。它包括六个主要阶段:恢复视图、...

    JSF数据仓库实现

    通过这个JSF数据仓库实现,开发者不仅可以学习到如何构建一个基于JSF的Web应用程序,还能掌握如何处理数据库操作,以及如何创建和运行一个完整的DEMO,这对提升Java Web开发技能大有裨益。同时,源码分析对于理解JSF...

    jsf分页 jsf分页 jsf分页

    在JavaServer Faces (JSF)框架中,分页是一种常用的技术,用于处理大量数据时提供更好的用户体验。当数据集过大,一次性加载所有记录到页面上会导致性能下降且用户界面响应变慢。通过分页,我们可以将数据分成多个...

    jsf中文使用教程jsf中文使用教程

    1. **组件驱动**:JSF拥有大量的内置组件,如输入字段、按钮、表格等,开发者可以通过声明式方式使用它们,减少了编码量。 2. **事件驱动**:用户交互触发事件,JSF会处理这些事件并调用对应的处理方法。 3. **可...

    JSF-UIREPEAT

    UIRepeat作为容器组件,可以包含其他JSF组件,如`h:outputText`、`h:inputText`等,并对这些子组件进行多次迭代渲染。 **UIRepeat的工作原理** 是通过遍历提供的数据源,为每个数据项创建一个实例,并将当前项的值...

    core jsf 1.2 jsf 核心

    JSF使用Expression Language (EL) 来实现视图层与模型层的数据绑定。EL表达式,如`${bean.property}`,可以轻松地访问 Managed Bean 中的属性。JSF 1.2增强了EL的表达能力,支持更多的操作符和上下文变量。 ### 4. ...

    jsf+javabean+jdbc完成对表增删查改

    在本项目中,“jsf+javabean+jdbc完成对表增删查改”指的是使用JSF与JavaBean以及JDBC技术来实现对数据库中表格的基本操作:添加(Insert)、删除(Delete)、查询(Query)和修改(Update)。 首先,让我们深入...

    JSF帮助文档

    JSF还支持EL(Expression Language),一种轻量级的脚本语言,用于在视图层与后台数据之间进行数据绑定和表达式计算。 在与数据库交互时,JSF可以与Java Persistence API (JPA) 或Hibernate等ORM框架结合使用,使得...

    JSF数据分页的简单例子(源码)

    这通常涉及到对数据集合的切片操作。 3. **配置Data Table**:在JSF页面(通常是`.xhtml`文件)上,我们将使用Data Table组件来显示数据。Data Table的属性如`value`用于绑定到Managed Bean的数据集合,`rows`用于...

    JSF中文教程jsf

    JSF提供了一个组件模型,允许开发者通过拖放组件的方式来构建用户界面,并通过事件处理和数据绑定来实现业务逻辑。 在JSF中,**组件** 是UI的基础元素,如按钮、文本输入框等。这些组件可以通过XML(Facelets)或...

    jsf +jdbc+spring实现的增设改查,分页,导入数据。导出数据、日志

    以下是对这些技术结合使用的详细解释: 1. **JSF(JavaScript Server Faces)**:JSF是一种MVC(Model-View-Controller)架构的Java Web组件模型。它提供了丰富的UI组件库,如输入字段、按钮、表格等,使得开发者...

    JSF基础教程 简体中文

    对于必须使用表格方式呈现的数据,JSF 的 &lt;h:dataTable&gt; 卷标协助您进行动态表格数据的输出。 o 简单的表格 o 表头, 表尾 o TableModel 类别  自订组件  JSF 让您可以自订组件,每个组件都是可替换的,这使得...

    jsf快速入门教程

    通过在Managed Bean中定义约束或者使用JSF提供的验证器,可以对用户输入进行校验。 **8. 视图跳转** JSF支持基于导航规则的视图跳转。你可以定义一个导航案例,根据不同的动作结果跳转到相应的页面。 **9. JSF与...

    JSF的工作方式 JSF架构 JSF模型 JSF事件类型

    3. **处理验证(Process Validation)**:在这一阶段,JSF会对每个组件的值进行验证。验证器可以在faces-config.xml或通过注解定义,确保用户输入符合预设的规则。如果验证失败,JSF会跳过后续阶段并显示错误消息。 ...

Global site tag (gtag.js) - Google Analytics