可展开的表格可以用来显示表格中某一条记录的详细信息。在这个例子里面,我们使用一个额外的rich:dataTable来显示被选中行的详细信息。
点击任意一条记录后面的+/-号来显示该条记录的详细信息:
<h:form>
<rich:dataTable value="#{wonderBean.wonders}" var="wonder">
<rich:column colspan="3">
<f:facet name="header">Wonder</f:facet>
<h:outputText value="#{wonder.name}" />
<a4j:commandLink id="link" value="#{!wonderBean.show?'[+]':'[-]'}"
reRender="link">
<a4j:actionparam name="val" value="#{!wonderBean.show}"
assignTo="#{wonderBean.show}" />
</a4j:commandLink>
</rich:column>
<rich:columnGroup>
<rich:column>
<a4j:outputPanel ajaxRendered="true">
<rich:dataTable value="#{wonder.details}" var="detail"
rendered="#{wonderBean.show}" style="border: 0px">
<rich:column>
<f:facet name="header">Location</f:facet>
<h:outputText value="#{detail.location}" />
</rich:column>
<rich:column>
<f:facet name="header">Image</f:facet>
<h:graphicImage value="#{detail.imageUrl}" />
</rich:column>
</rich:dataTable>
</a4j:outputPanel>
</rich:column>
</rich:columnGroup>
</rich:dataTable>
</h:form>
public class WonderBean {
private WonderService service;
private Boolean show;
public Boolean getShow() {
return show;}
public void setShow(Boolean show) {
this.show = show;
}
public WonderService getService() {
return service;
}
public void setService(WonderService service) {
this.service = service;
}
public WonderBean() {
super();
}
public ArrayList<Wonder> getWonders() {
return service.getList();
}
}
public class WonderService {
private ArrayList <Wonder> list;
public ArrayList<Wonder> getList() {
return list;
}
@PostConstruct
public void init () {
list = new ArrayList <Wonder>();
list.add(new Wonder("Chichen Itza", "Mexico", "http://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Chichen-Itza-Castillo-Seen-From-East.JPG/90px-Chichen-Itza-Castillo-Seen-From-East.JPG"));
list.add(new Wonder("Christ the Redeemer", "Brazil", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/50/CorcovadofotoRJ.jpg/90px-CorcovadofotoRJ.jpg"));
list.add(new Wonder("Colosseum", "Italy", "http://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Colosseum_in_Rome%2C_Italy_-_April_2007.jpg/90px-Colosseum_in_Rome%2C_Italy_-_April_2007.jpg"));
list.add(new Wonder("Great Wall of China", "China", "http://upload.wikimedia.org/wikipedia/commons/thumb/1/16/GreatWallNearBeijingWinter.jpg/90px-GreatWallNearBeijingWinter.jpg"));
list.add(new Wonder("Machu Picchu", "Peru", "http://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Before_Machu_Picchu.jpg/90px-Before_Machu_Picchu.jpg"));
list.add(new Wonder("Petra", "Jordan", "http://upload.wikimedia.org/wikipedia/commons/thumb/0/06/PetraMonastery.JPG/90px-PetraMonastery.JPG"));
list.add(new Wonder("Taj Mahal", "India", "http://upload.wikimedia.org/wikipedia/commons/thumb/c/c8/Taj_Mahal_in_March_2004.jpg/90px-Taj_Mahal_in_March_2004.jpg"));
}
public WonderService() {
}
}
public class Wonder implements java.io.Serializable{
private String name;
private Details details;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Wonder(String name, String location, String imageUrl) {
super();
this.name = name;
this.details = new Details (location, imageUrl);
}
public Details getDetails() {
return details;
}
}
<managed-bean>
<managed-bean-name>wonderBean</managed-bean-name>
<managed-bean-class>data.WonderBean</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
<managed-property>
<property-name>service</property-name>
<property-class>data.WonderService</property-class>
<value>#{service}</value>
</managed-property>
</managed-bean>
<managed-bean>
<managed-bean-name>service</managed-bean-name>
<managed-bean-class>data.WonderService</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
- 大小: 5 KB
- 大小: 39.8 KB
分享到:
相关推荐
要使用RichFaces 3.3.3,你需要具备以下技术环境: 1. JDK 1.5或更高版本。 2. 支持的JSF实现,如Sun JSF-RI 1.2_x或2.x,MyFaces 1.2.x或2.x。 3. Java应用程序服务器或Servlet容器,如Apache Tomcat 5.5至6.0。 ...
使用richfaces需要用到的jar包! commons-beanutils-1.7.0.jar,commons-codec-1.3.jar,commons-collections-3.2.jar,commons-digester-1.8.jar,commons-discovery-0.4.jar,commons-el-1.0.jar,commons-...
在IT行业中,富客户端框架(RichFaces)是一个广泛使用的JavaScript库,它为JavaServer Faces (JSF) 提供了丰富的用户界面组件。本篇将详细探讨如何利用`richfaces3.3.1`版本实现表格的行拖动、分页加载等功能。这些...
RichFaces作为一款开源框架,以其强大的Ajax能力、丰富的组件库以及高度可定制的特性,在JavaServer Faces(JSF)环境中独树一帜。本文旨在深入探讨RichFaces的核心功能、组件开发流程以及资源管理和皮肤技术支持,...
**RichFaces中文开发文档概述** RichFaces是一款基于JavaServer Faces(JSF)技术的开源UI组件库,由JBoss组织开发。它为JSF应用程序提供了丰富的用户体验和强大的交互功能。这款框架极大地简化了Web开发过程,尤其...
开发者可以使用这些API来在他们的JSF页面上添加和配置RichFaces组件。 7. **sac-1.3.jar**:SAC(Simple API for CSS)是一个用于解析和操作CSS的库。在RichFaces中,SAC可能用于解析和执行CSS规则,从而实现组件...
- **Apache MyFaces:** 介绍如何在使用Apache MyFaces的环境中部署和使用RichFaces。 - **Facelets支持:** 讲解了如何在RichFaces中启用和利用Facelets模板引擎。 - **JBoss Seam支持:** 针对与JBoss Seam框架的...
这个离线包特别适合那些需要在本地环境中快速测试和部署Richfaces组件的开发者,特别是那些使用Tomcat服务器的用户。 **Richfaces** 是一个基于JavaServer Faces (JSF) 技术的开源UI组件库,它扩展了JSF的功能,...
这使得开发者在使用RichFaces时能够充分利用JBoss的特性,如安全、事务管理等。 在文件名称列表中,我们看到只有一个"lib"目录。这通常包含所有必要的JAR文件,用于构建和运行RichFaces 3.2.1的应用。这些库包含了...
RichFaces 是一个开源项目,它扩展了 JSF 的功能,提供了大量的可重用 UI 组件,以及对 AJAX(异步 JavaScript 和 XML)技术的支持,使得开发人员能够构建高度交互性和动态的 Web 应用程序。 **描述解析:** ...
- **皮肤参数表格**:列出可供调整的各种皮肤参数。 - **创建和使用自定义皮肤文件**:讲解如何根据需要创建新的皮肤文件。 - **内置的可定制化皮肤**:介绍框架自带的几种标准皮肤风格。 - **运行时更改皮肤**...
1. **AJAX 支持**:RichFaces 使用 A4J (Ajax for Java) 技术,允许开发者通过简单的声明式或编程方式实现页面局部更新,减少页面重载,提升响应速度。 2. **组件库**:包括各种富组件,如数据表(DataTable)、...
在版本3.0.0中,RichFaces为开发者提供了大量的可重用组件,这些组件不仅具有美观的用户界面,还支持异步数据处理,显著提高了Web应用的交互性和用户体验。 **二、核心特性** 1. **AJAX支持**:RichFaces 3.0.0引入...
**应用场景:** 在需要展示多个可折叠的面板时使用。 ##### 5. `rich:panelMenu`标签 `rich:panelMenu`标签用于创建下拉菜单,类似于Windows系统的下拉菜单。 **示例代码:** ```xml ``` - **属性解释:** - ...
在本文中,我们将深入探讨 RichFaces 标签的使用,特别是 `rich:componentControl` 和 `rich:modalPanel` 标签,以及 `inputNumberSlider` 和 `PanelBar` 组件。RichFaces 是一个功能丰富的 JavaServer Faces (JSF) ...
本文档主要根据richfaces3.3.3 用户手册和demo 编写。 Richfaces 下载地址http://www.jboss.org/richfaces/download/stable。 demo 下载地址http://www.jboss.org/richfaces/demos。
此外,`org.richfaces.model.SelectItem`类用于创建可选的下拉框或列表项,提供更灵活的数据绑定选项。`org.richfaces.renderkit.html_extended.AjaxRenderer`则负责处理AJAX渲染逻辑,确保页面更新只发生在必要的...