`
lxdhdgss
  • 浏览: 44932 次
  • 性别: 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应用程序的标准技术,它允许开发者...

    jsf2segy.zip

    这些软件可能对数据格式有不同的要求。因此,数据格式的转换是确保数据能够在整个工作流程中流畅传递的关键环节。 **操作步骤**: 使用"jsf2segy" 工具进行转换,用户可能需要遵循以下步骤: 1. 下载并解压"jsf2...

    jsf 分页实例jsf 分页实例

    在JSF页面(通常是`.xhtml`文件)中,使用`p:datatable`展示数据,`p:datascroller`处理分页。 ```html &lt;!DOCTYPE html&gt; xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:p="http://primefaces.org/ui"&gt; ...

    使用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-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与...

Global site tag (gtag.js) - Google Analytics