1. h:dataTable
In dataTable, JSF helps you to generate all the HTML table tags.
<h:dataTable value="#{order.orderList}" var="o">
<h:column>
#{o.orderNo}
</h:column>
<h:column>
#{o.productName}
</h:column>
<h:column>
#{o.price}
</h:column>
<h:column>
#{o.qty}
</h:column>
</h:dataTable>
2. ui:repeat
In repeat tag, you have to put all the HTML table tags manually.
<table>
<ui:repeat var="o" value="#{order.orderList}" varStatus="status">
<tr>
<td>#{o.orderNo}</td>
<td>#{o.productName}</td>
<td>#{o.price}</td>
<td>#{o.qty}</td>
</tr>
</ui:repeat>
</table>
ui:repeat example
Here’s a JSF 2.0 ui:repeat example to render exactly the same HTML output like this h:dataTable example. Compare both and spot the different.
JSF…
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<h:head>
<h:outputStylesheet library="css" name="table-style.css" />
</h:head>
<h:body>
<h1>JSF 2 ui:repeat tag example</h1>
<table class="order-table">
<tr>
<th class="order-table-header">Order No</th>
<th class="order-table-header">Product Name</th>
<th class="order-table-header">Price</th>
<th class="order-table-header">Quantity</th>
</tr>
<tbody>
<ui:repeat var="o" value="#{order.orderList}" varStatus="status">
<h:panelGroup rendered="#{status.even}">
<tr>
<td class="order-table-even-row">#{o.orderNo}</td>
<td class="order-table-even-row">#{o.productName}</td>
<td class="order-table-even-row">#{o.price}</td>
<td class="order-table-even-row">#{o.qty}</td>
</tr>
</h:panelGroup>
<h:panelGroup rendered="#{status.odd}">
<tr>
<td class="order-table-odd-row">#{o.orderNo}</td>
<td class="order-table-odd-row">#{o.productName}</td>
<td class="order-table-odd-row">#{o.price}</td>
<td class="order-table-odd-row">#{o.qty}</td>
</tr>
</h:panelGroup>
</ui:repeat>
</tbody>
</table>
</h:body>
</html>
The “ui:repeat” tag comes with many helpful attributes like offset, size, status and etc. Make sure you check this JSF ui:repeat javadoc.
Output
分享到:
相关推荐
在JSF 1.2中,我们经常需要处理数据的迭代和展示,这通常通过使用特定的组件或标签来实现。JSF(JavaServer Faces)是一个用于构建用户界面的Java框架,它允许开发者使用声明式的方式处理用户交互和数据绑定。在给定...
**UIRepeat** 是JSF中的一个核心组件,它相当于JSP中的`<c:forEach>`标签或Java的`for-each`循环。UIRepeat用于在页面上动态渲染一系列组件,基于集合、数组或其他迭代源的数据。这使得开发者可以轻松地将数据集与UI...
开发者需要指定一个值属性,该属性指向包含要显示数据的列表,以及一个var属性,用于在循环中引用当前项。 ```html <f:facet name="header">Column 1 #{item.column1} <!-- 更多列定义 --> ``` **3. ...
JSF通过循环遍历不同的状态来控制应用程序的流程。对于每个阶段,都有一个特定的方法来处理,如RestoreViewPhase、ApplyRequestValues等。这些阶段的顺序决定了JSF页面生命周期的执行流程。通过使用State模式,JSF...
在JSF中,这可以用来优化数据处理,如列表的排序、过滤或转换,提高代码效率。 3. **jsf-api.jar**:JSF API JAR包含JSF规范定义的接口和抽象类,它是JSF应用程序的基础。开发者需要此JAR来导入必要的JSF库,以便在...
4. 表达式语言(EL):JSF提供EL,一种简洁的表达式语法,用于在JSP页面中访问后台bean的属性。 5. 视图状态管理:JSF维护每个用户的视图状态,确保在请求之间保持UI组件的状态。 6. 事件处理:JSF有丰富的事件处理...
JSF的核心概念是UI组件,这些组件可以组合成复杂的用户界面,并且能够与后端数据模型进行交互。在Java Web开发中,JSF被广泛用于构建企业级的应用系统。 **MyFaces** 是JSF规范的一种实现,它是Apache软件基金会的...
在JSF项目中,`jstl.jar`常常被用来增强视图层的表现力,比如使用 `<c:if>`、`<c:forEach>` 等标签进行条件判断和循环操作。值得注意的是,JSF 2.2版本开始,可以与EL(Expression Language)无缝集成,但依然可以...
API JAR文件包含JSF的公共接口和类,允许开发者在应用程序中引用和使用JSF的功能,如创建可重用的UI组件、处理用户事件、数据绑定等。 3. **jsf-impl.jar**:与jsf-api.jar相对应,这个文件包含了JSF的实现代码。在...
**Converter** 是JSF中处理数据类型转换的接口,它允许自定义输入值到模型值的转换规则,以及模型值到显示值的转换规则。这对于处理不同格式的数据(如日期、货币等)非常有用。 **Navigation Handler** 控制着JSF...
Java代码中使用JSP/JSF表达式语言(EL,Expression Language)是Web开发中的一个核心概念,它允许开发者在页面上动态地访问和操作JavaBean或其他数据源的数据。EL提供了一种简洁的方式来读取和设置Java对象的属性,...
在JavaEE中,JSF(JavaServer Faces)是一个用于构建用户界面的组件模型,它简化了开发人员创建用户交互界面的过程。JSF API和JSF实现是JSF的核心组成部分。 **JSF API** JSF API提供了用于创建、管理和处理用户...
6. **el-ri-1.0.jar**:EL(Expression Language)是JSP 2.0引入的表达式语言,用于在JSP或JSF中简洁地访问和操作数据。EL RI(Reference Implementation)是EL的参考实现,提供了EL的执行环境。 7. **hamcrest-...
- 使用Hibernate自动创建数据库表时,需要在`applicationWebContext.xml`中设置`hibernate.hbm2ddl.auto=create`,但在正式环境中应避免使用此设置,以防止意外删除现有数据。 以上内容提供了关于“Spring-Jbpm-JSF...
3. 数据表格的实现:在JSF页面中,使用`t:dataTable`标签来展示数据表格,通过绑定JSF Bean的数据,实现数据的展示和操作。 4. 文件下载的实现:通过使用`HttpServletResponse`和`OutputStream`,实现文件的下载。...
**用途:** `dataTable` 用于展示表格形式的数据集,可以对表格中的每一行进行操作。 **属性:** - **var**: (必填) 表示当前行的数据对象变量名。 - **value**: (必填) 表示数据集合的EL表达式。 - **rowKeyVar**...
在JSF算法中,操作系统会维护一个作业队列,新提交的作业会被按照它们预计的运行时间排序。当处理机空闲时,调度器会选择预计运行时间最短的作业进行执行。如果两个或多个作业的预计运行时间相同,通常会采用先进先...
- **EL表达式**:使用Expression Language (EL)动态生成JSF标签,例如通过循环结构创建一系列的`<h:inputText>`标签。 - **Facelets模板**:在Facelets视图文件中,可以利用`<ui:repeat>`或`<c:forEach>`标签动态...
Facelets作为JSF 2.0中的一项重要特性,极大地增强了前端组件的灵活性与复用性。在BIMP平台中,Facelets被广泛应用于构建动态页面,其优势在于能够简化页面布局并提供丰富的UI组件库。以下是按照不同类别划分的...
}}(2) 如果下拉列表的内容不是固定的,而是需要从后台动态加载,可以使用标签,它接受一个列表作为数据源,将列表中的每个元素分别转换为。例如:<h:selectOneMenu value="#{ConfInitFTPVBean.probeStrategy}"> ...