JSF+Hibernate 显示动态生成的表中的内容
来源:互联网 发布:手机淘宝如何朋友代付 编辑:程序博客网 时间:2024/05/18 16:19
先解释一下标题的意思。如果在runtime的时候生成了一张表(见博文:利用oracle的存储过程来建表、 Hibernate调用存储过程 分享),即动态表,此时无法做 ORM映射,因此无法创建pojo对象等。如果在这种情况下,仍然想在页面中通过<t:dataTable>标签来显示动态表中的内容,可通过下面的方法:
页面:
DAO:
public class TableDAO{ public List getRecordList(String tablename) { SQLQuery query = session.createSQLQuery("select * from "+tablename); List list = query.setResultTransformer(Criteria.ALIAS_TO_ENTITY_MAP) .list();//把查询结果转换成map类型 return list; } public List getRecordHeaderList() { } }
public class TableBean{ private DataModel recordModel; private DataModel headerModel; private int labelIndex = 0; public DataModel getHeaderModel() { if(headerModel == null) { headerModel =new ListDataModel(); headerModel.setWrappedData(getColumnHeaderList()); } return headerModel; } public DataModel getRecordModel() { if(recordModel== null) { recordModel=new ListDataModel(); recordModel.setWrappedData(getRecordList()); } return recordModel; } public String getColumnValue() { if(recordModel == null) recordModel = getRecordModel(); if(recordModel.isRowAvailable()) { Map map = (Map)recordModel.getRowData(); List list = getColumnHeaderList(); String key = list.get(labelIndex)).toString(); Object o = map.get(key); if(o == null) o = ""; labelIndex++; if(labelIndex == map.size()) labelIndex = 0; return o.toString(); } return null; }}
页面:
<t:dataTable id="recorddata" var="record" value="#{tableBean.recordModel}" preserveDataModel="false" rows="100" > <t:columns value="#{tableBean.headerModel}" var="columnHeader"> <f:facet name="header"> <h:outputText value="#{columnHeader.cname}" /> </f:facet> <h:outputText value="#{tableBean.columnValue}" /> </t:columns> </t:dataTable>
这个方法主要是利用了Myfaces的<t:columns>组件来实现动态表格的生成。
文章来源
- JSF+Hibernate 显示动态生成的表中的内容
- jsf-后台动态生成richfaces的dataTable
- JSF动态生成组件
- JSF动态生成菜单
- JSF动态生成组件
- 动态修改actionbar的Menu菜单中的显示内容
- hibernate 动态生成表
- hibernate 动态生成表
- hibernate 动态生成表
- 动态生成(改变)iframe中的内容
- string文件中的内容动态生成
- C# 动态生成窗口中的控件不显示的解决方法
- JSF: 动态生成的DataTable, 固定表头, 固定行标,
- JSF: 动态生成的DataTable, 固定表头, 固定行标
- jsf-后台动态生成richfaces的dataTable(转载)
- JSF动态显示列,rich:columns的使用
- Struts中将数据库中的内容动态生成下拉列表内容
- 根据要显示的字段个数动态生成表格标签table及内容
- JAVA中获得一个有中文的字符串的字节长度
- eclipse maven plugin 插件 安装 和 配置
- 数据库监控脚本(一)
- jquery几种书写格式
- linux下mysql自动备份shell脚本
- JSF+Hibernate 显示动态生成的表中的内容
- Yii AR Model 查询
- WinRAR老是弹出烦人的对话框(请购买WinRAR许可)?
- 博客搬家测试
- 数据库监控脚本(二)
- schedule和scheduleAtFixedRate区别
- 使用xmlhttp和Java session监听改善站内消息系统
- [转]tshark命令大全
- 数据库设计