`
stenlylee
  • 浏览: 260615 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

用RichFaces制作可展开的表格

阅读更多

可展开的表格可以用来显示表格中某一条记录的详细信息。在这个例子里面,我们使用一个额外的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组件使用指南

    要使用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包

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

    richfaces3.3.1实现表格的行拖动、分页加载等功能

    在IT行业中,富客户端框架(RichFaces)是一个广泛使用的JavaScript库,它为JavaServer Faces (JSF) 提供了丰富的用户界面组件。本篇将详细探讨如何利用`richfaces3.3.1`版本实现表格的行拖动、分页加载等功能。这些...

    richfaces详细使用

    RichFaces作为一款开源框架,以其强大的Ajax能力、丰富的组件库以及高度可定制的特性,在JavaServer Faces(JSF)环境中独树一帜。本文旨在深入探讨RichFaces的核心功能、组件开发流程以及资源管理和皮肤技术支持,...

    richfaces中文开发文档

    **RichFaces中文开发文档概述** RichFaces是一款基于JavaServer Faces(JSF)技术的开源UI组件库,由JBoss组织开发。它为JSF应用程序提供了丰富的用户体验和强大的交互功能。这款框架极大地简化了Web开发过程,尤其...

    richfaces4.0所需jar包

    开发者可以使用这些API来在他们的JSF页面上添加和配置RichFaces组件。 7. **sac-1.3.jar**:SAC(Simple API for CSS)是一个用于解析和操作CSS的库。在RichFaces中,SAC可能用于解析和执行CSS规则,从而实现组件...

    RichFaces 3.3 帮助文档(英文)

    - **Apache MyFaces:** 介绍如何在使用Apache MyFaces的环境中部署和使用RichFaces。 - **Facelets支持:** 讲解了如何在RichFaces中启用和利用Facelets模板引擎。 - **JBoss Seam支持:** 针对与JBoss Seam框架的...

    Richfaces ShowCase离线包

    这个离线包特别适合那些需要在本地环境中快速测试和部署Richfaces组件的开发者,特别是那些使用Tomcat服务器的用户。 **Richfaces** 是一个基于JavaServer Faces (JSF) 技术的开源UI组件库,它扩展了JSF的功能,...

    richfaces-ui-3.2.1

    这使得开发者在使用RichFaces时能够充分利用JBoss的特性,如安全、事务管理等。 在文件名称列表中,我们看到只有一个"lib"目录。这通常包含所有必要的JAR文件,用于构建和运行RichFaces 3.2.1的应用。这些库包含了...

    richfaces-3.0.0

    RichFaces 是一个开源项目,它扩展了 JSF 的功能,提供了大量的可重用 UI 组件,以及对 AJAX(异步 JavaScript 和 XML)技术的支持,使得开发人员能够构建高度交互性和动态的 Web 应用程序。 **描述解析:** ...

    richfaces3.2用户手册的pdf版

    - **皮肤参数表格**:列出可供调整的各种皮肤参数。 - **创建和使用自定义皮肤文件**:讲解如何根据需要创建新的皮肤文件。 - **内置的可定制化皮肤**:介绍框架自带的几种标准皮肤风格。 - **运行时更改皮肤**...

    richfaces参考文档

    1. **AJAX 支持**:RichFaces 使用 A4J (Ajax for Java) 技术,允许开发者通过简单的声明式或编程方式实现页面局部更新,减少页面重载,提升响应速度。 2. **组件库**:包括各种富组件,如数据表(DataTable)、...

    jboss-richfaces-3.0.0

    在版本3.0.0中,RichFaces为开发者提供了大量的可重用组件,这些组件不仅具有美观的用户界面,还支持异步数据处理,显著提高了Web应用的交互性和用户体验。 **二、核心特性** 1. **AJAX支持**:RichFaces 3.0.0引入...

    Richfaces标签

    **应用场景:** 在需要展示多个可折叠的面板时使用。 ##### 5. `rich:panelMenu`标签 `rich:panelMenu`标签用于创建下拉菜单,类似于Windows系统的下拉菜单。 **示例代码:** ```xml ``` - **属性解释:** - ...

    richfaces标签学习笔记

    在本文中,我们将深入探讨 RichFaces 标签的使用,特别是 `rich:componentControl` 和 `rich:modalPanel` 标签,以及 `inputNumberSlider` 和 `PanelBar` 组件。RichFaces 是一个功能丰富的 JavaServer Faces (JSF) ...

    RichFaces4.5 JavaApi JSApi

    此外,`org.richfaces.model.SelectItem`类用于创建可选的下拉框或列表项,提供更灵活的数据绑定选项。`org.richfaces.renderkit.html_extended.AjaxRenderer`则负责处理AJAX渲染逻辑,确保页面更新只发生在必要的...

    richfaces开发指南(英文版)

    - **下载RichFaces 3.2.0**:开始使用RichFaces的第一步是访问其官方网站下载最新版本的库,本示例使用的是3.2.0版本。 - **安装**:下载后,将库文件添加到你的项目类路径中,或者如果使用Maven或Gradle,可以通过...

Global site tag (gtag.js) - Google Analytics