以下代码可以在我的资源中下载
JavaServer Faces核心编程(第3版)源码

@ManagedBean
@SessionScoped
public class TableData {private static final Name[] names = new Name[] {new Name("William", "Dupont"),new Name("Anna", "Keeney"),new Name("Mariko", "Randor"),new Name("John", "Wilson")};public Name[] getNames() { return names;}
}
public class Name {private String first;private String last;public Name(String first, String last) {this.first = first;this.last = last;}public void setFirst(String newValue) { first = newValue; }public String getFirst() { return first; }public void setLast(String newValue) { last = newValue; }public String getLast() { return last; }
}
<h:body>#{msgs.pageTitle}<h:form><h:dataTable value="#{tableData.names}" var="name"><h:column>#{name.last},</h:column><h:column>#{name.first}</h:column></h:dataTable></h:form>
</h:body>

value对象表示h:dataTable迭代的数据,数据必须是下列类型之一:

  • java对象
  • 数组
  • java.util.List实例
  • java.sql.ResultSet实例
  • javax.servlet.jsp.jstl.sql.Result实例
  • javax.faces.model.DataModel实例


h:dataTable特性

  • bgcolor 表的背景色
  • border 边框宽度
  • cellspacing 表格单元格之间的间距
  • cellpadding表格单元格周围的边距
  • columnClasses用于列,逗号分隔的css类列表
  • dir未继承方向的文本的文本方向,有效值,左到右LTR,右到左RTL
  • first表示显示的第一行的索引
  • footerClass表尾的CSS类
  • frame表周围框架边的说明,有效值:none、above、below、hsides、vsides、lhs、rhs、box、border
  • headClass表头的CSS类
  • rowClasses行的CSS类列表,由逗号分隔
  • rows表中显示的行数,以first特性指定的行开始,如果设置为0,将显示所有行
  • rules单元格间绘制的线的说明,有效值:groups、rows、columns、all
  • var由数据表创建的变量的名称,表示Value中的当前项
  • binding、id、rendered、styleClass、value基本特性
  • lang、style、title、width html4
  • onclick、ondbclick、onkeydown、onkeypress、onkeyup、onmousedown、onmousemove、onmouseout、onmouseover、onmouseup dhtml事件
 <h:form><h:dataTable value="#{tableData.names}" var="name"captionStyle="font-size: 0.95em; font-style:italic"style="width: 250px;"><f:facet name="caption">An Array of Names</f:facet><h:column headerClass="columnHeader" footerClass="columnFooter"><f:facet name="header">#{msgs.lastnameColumn}</f:facet>#{name.last},<f:facet name="footer">#{msgs.alphanumeric}</f:facet></h:column><h:column headerClass="columnHeader" footerClass="columnFooter"><f:facet name="header">#{msgs.firstnameColumn}</f:facet>#{name.first}<f:facet name="footer">#{msgs.alphanumeric}</f:facet></h:column></h:dataTable></h:form>
.columnHeader {font-style: normal;
}
.columnFooter {font-size: 0.75em;
}
windowTitle=Headers, Footers, and Captions
lastnameColumn=Last Name
firstnameColumn=First Name
editColumn=Edit
alphanumeric=[alpha]


表中使用JSF组件

numberHeader=Number
textfieldHeader=Textfields
buttonHeader=Buttons
checkboxHeader=Checkboxes
linkHeader=Links
menuHeader=Menu
graphicHeader=Graphics
radioHeader=Radio Buttons
listboxHeader=List Boxes
<h:body style="background: #eee"><h:form><h:dataTable value="#{numberList}" var="number"><h:column><f:facet name="header">#{msgs.numberHeader}</f:facet>#{number}</h:column><h:column><f:facet name="header">#{msgs.textfieldHeader}</f:facet><h:inputText value="#{number}" size="3"/></h:column><h:column><f:facet name="header">#{msgs.buttonHeader}</f:facet><h:commandButton value="#{number}"/></h:column><h:column><f:facet name="header">#{msgs.checkboxHeader}</f:facet><h:selectBooleanCheckbox value="false"/></h:column><h:column><f:facet name="header">#{msgs.linkHeader}</f:facet><h:commandLink>#{number}</h:commandLink></h:column><h:column><f:facet name="header">#{msgs.graphicHeader}</f:facet><h:graphicImage library="images" name="dice#{number}.gif"style="border: 0px"/></h:column><h:column><f:facet name="header">#{msgs.menuHeader}</f:facet><h:selectOneMenu><f:selectItem itemLabel="#{number}" itemValue="#{number}"/></h:selectOneMenu></h:column><h:column><f:facet name="header">#{msgs.radioHeader}</f:facet><h:selectOneRadio layout="lineDirection" value="nextMonth"><f:selectItem itemValue="yes" itemLabel="yes"/><f:selectItem itemValue="no" itemLabel="no"/></h:selectOneRadio></h:column><h:column><f:facet name="header">#{msgs.listboxHeader}</f:facet><h:selectOneListbox size="4"><f:selectItem itemValue="yes" itemLabel="yes"/><f:selectItem itemValue="maybe" itemLabel="maybe"/><f:selectItem itemValue="no" itemLabel="no"/><f:selectItem itemValue="ok" itemLabel="ok"/></h:selectOneListbox></h:column></h:dataTable></h:form>
</h:body>
<managed-bean><managed-bean-name>numberList</managed-bean-name><managed-bean-class>java.util.ArrayList</managed-bean-class><managed-bean-scope>session</managed-bean-scope><list-entries><value>1</value><value>2</value><value>3</value><value>4</value><value>5</value></list-entries></managed-bean>


删除行

<h:head><h:outputStylesheet library="css" name="styles.css"/><title>#{msgs.windowTitle}</title>
</h:head>
<h:body><h:form><h:dataTable value="#{tableData.names}" var="name" styleClass="names"headerClass="namesHeader" columnClasses="last,first"><h:column><f:facet name="header">#{msgs.lastColumnHeader}</f:facet>#{name.last},</h:column><h:column><f:facet name="header">#{msgs.firstColumnHeader}</f:facet>#{name.first}</h:column><h:column><h:commandLink value="Delete"action="#{tableData.deleteRow(name)}"/></h:column></h:dataTable></h:form>
</h:body>
@ManagedBean
@SessionScoped
public class TableData {private ArrayList<Name> names = new ArrayList<Name>(Arrays.asList(new Name("Anna", "Keeney"),new Name("John", "Wilson"),new Name("Mariko", "Randor"),new Name("William", "Dupont")));public ArrayList<Name> getNames() {return names;}public String deleteRow(Name nameToDelete) {names.remove(nameToDelete);return null;}
}
windowTitle=Deleting Table Rows
pageTitle=An array of names:
selectColumnToSort=Select a column to sort
editPrompt=Edit
firstColumnHeader=First Name
lastColumnHeader=Last Name
deleteColumnHeader=Delete
deleteButtonText=Delete selected names

JSF标签之数据表h:dataTable相关推荐

  1. java jsf table_JSF数据表(h:dataTable)排序数据

    JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格.使用DataTable,我们可以迭代收集或数组数组来显示数据.下面我们来学习如何向DataTable排序数据. 要使用Dat ...

  2. datatable java排序,JSF数据表(h:dataTable)DataModel排序数据

    JSF中有一个叫作DataTable的控件,可用来渲染和格式化html表格.使用DataTable,我们可以迭代收集或数组数组来显示数据.下面我们来学习如何向DataTable使用DataModel排 ...

  3. 懒惰的JSF Primefaces数据表分页–第1部分

    今天,我们将使用带有视图范围的托管bean的惰性列表进行JSF数据表分页. 这些单词/表达式是什么意思? 如今,有几个JSF框架为数据表提供现成的分页,列排序器和其他功能. 今天,我们将使用Prime ...

  4. SqlServer千万级以上的数据表查询优化方案《冷热数据库分离》的思路

    1.是分库而不是分表,分表即需要考虑引入分表算法,又影响后续查询. 2.热数据只占全部数据的一部分,因此每次优先查询热库,以下情况才查询冷库 --a.当查询条件未命中(结果集为空)时,查询冷库.   ...

  5. excel插入行 uipath_【RPA之家UiPath官方教程】Excel和数据表

    Excel和数据表 本课程涵盖了针对DataTable类型的最常见的数据处理方法,以及使用Excel文件的特定方法. 受众:RPA开发人员 学习目标 在本课程结束时,您应该能够: 创建,自定义和填充D ...

  6. datatables mysql_jquery - Datatables - 数据表外的搜索框

    jquery - Datatables - 数据表外的搜索框 我正在使用DataTables(datatables.net),我希望我的搜索框在表格之外(例如在我的标题div中). 这可能吗 ? 11 ...

  7. web.xml.jsf_使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表

    web.xml.jsf 这次,我想与您分享我最近从JSF 2.2功能中学到的知识. 为此,我决定创建一个简单的ajax,可滚动,延迟加载的数据表. 请注意, 绝不这是相当大的库如Primefaces ...

  8. primefaces_懒惰的JSF Primefaces数据表分页–第2部分

    primefaces 页面代码非常简单,没有复杂性. 检查" index.xhtml"代码: <!DOCTYPE html PUBLIC "-//W3C//DTD ...

  9. 使用JSF 2.2功能来开发可滚动,可延迟加载的Ajax数据表

    这次,我想与您分享我最近从JSF 2.2功能中学到的知识. 为此,我决定创建一个简单的ajax,可滚动的延迟加载数据表. 请注意, 绝不这是相当大的库如Primefaces , RichFaces的或 ...

最新文章

  1. hive replace替换多个_详解Mysql数据库中replace与replace into的用法及区别
  2. Meanshift图像平滑之opencv实现
  3. 爬虫学习笔记(十九)—— 滑动验证码
  4. Illegal mix of collations (utf8_unicode_ci,IMPLICIT) and (utf8_general_ci,IMPLICIT) for operation '=
  5. ASP.NET2.0数据操作之创建数据访问层(3)
  6. 1155: 零起点学算法62——输出矩阵
  7. 通过 Ruby 买卖Bitcoin:使用开放交易所OceanOne
  8. JavaScript中实现类似StringBuilder的功能
  9. 中国内窥镜干燥存放柜市场趋势报告、技术动态创新及市场预测
  10. 关于 Swift 单例的例子
  11. Excel 制作甘特图(多图)
  12. [转载] MLDN魔乐科技李兴华主讲Oracle——01 Oracle简介
  13. 解决方案-电子签章:金格科技
  14. C#界面控件DotNetBar使用详解
  15. 《微微一笑很倾城》中肖奈大神说的平方根倒数速算法是什么鬼?三十分钟理解!
  16. c# 十六进制数据转十六进制字符串
  17. 割裂的前端工程师--- 2017年前端生态窥探 1
  18. Mac苹果 M1配置cocoapods
  19. Qt设计的一个图片查看器
  20. Python爬取京东商品评论数据

热门文章

  1. kotlin新建项目的报错和自定义kotlin中的loge的live template
  2. TPL(事务处理语言)
  3. QQ2009 界面技术(DirectUI)
  4. 洛谷 [P1614] 爱与愁的心痛 (前缀和)
  5. 重生之学好C的第一天
  6. 【CSS】入门级教学(超级细致版本)
  7. Java中Lambda表达式的使用
  8. 虚拟串口软件和串口调试助手的简单使用
  9. 验证码识别---云打码
  10. 我再等一分钟 或许下一分钟