可展开的表格可以用来显示表格中某一条记录的详细信息。在这个例子里面,我们使用一个额外的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>
分享到:
相关推荐
教会如何使用richfaces,及richfaces应用
使用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-...
Richfaces标签 简介Richfaces标签相关内容 初学者认知
Richfaces组件使用指南、richfaces手册(很详细、很全面的教程)
richfaces标签学习笔记richfaces标签学习笔记richfaces标签学习笔记richfaces标签学习笔记
这是richfaces 3.3.1的用户手册PDF版
Richfaces3.3.3常用组件使用手册 便于学习Richfaces和a4j和jsf框架 很好很实用
本文档主要根据richfaces3.3.3 用户手册和demo 编写。 Richfaces 下载地址http://www.jboss.org/richfaces/download/stable。 demo 下载地址http://www.jboss.org/richfaces/demos。
关于richfaces的一些比较好的资料,希望大家看了能有收获
Richfaces ShowCase离线包,可直接在tomcat下部署,含在线演示例子。
RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。RichFaces组件简介,复合组件,日期控件,Ajax标签, 轻松实现。
richfaces4.0所需的jar包,richfaces4.0所需的jar包,richfaces4.0所需的jar包,
RichFaces_3.3.3_TLD.chm
JSF2和RICHFACES4使用指南
richfaces中文开发文档 纯中文 适合维护老项目的人
richfaces3.1.4版的demo,运行在jboss和tomcat5.5下
RichFaces4.5 JavaApi JSApi API文档 英文版
richfaces环境搭建所需要的jar richfaces-api-3.3.1.GA.jar richfaces-impl-3.3.1.GA.jar richfaces-ui-3.3.1.GA.jar 希望对搭建有帮助
richfaces 最新在线demo下载