Richfaces实现动态表格和动态树示例说明

leayefang 贡献于2013-03-24

作者 sudy  创建于2009-02-09 09:00:00   修改者jzhou  修改于2009-10-10 06:18:00字数9419

文档摘要:Richfaces实现动态表格和动态树示例说明
关键词:

 Richfaces实现动态表格和动态树示例说明 一、程序结构说明: 1、文件及文件目录的说明: (\Web\WEB-INF\目录下) Web.xml:应用配置 faces-config.xml:JSF应用的导航和托管Bean的配置 (\Web\pages\目录下) \grid\grid.jsp:动态表格页面 \tree\tree.jsp:动态树页面 (\src\demo\包下) hibernate.cfg.xml:数据库连接配置 (\src\demo\grid\包下) EventBean.java:表格拖动操作的监听器 Person.java:Pojo类,作为表格中记录的对象 Person.hbm.xml:Hibernate映射文件 PersonsBean.java:对表格操作的具体实现 (\src\demo\page\包下)该包下的类用于实现分页操作 DataPage.java:每页数据对应的类 PageListBaseBean.java:带分页功能的基类 PagedListDataModel.java:分页所使用的类 (\src\demo\phase\包下) PostbackPhaseListener.java:JSF生命周期监听器 (\src\demo\tree\包下) DemoTreeNodeImpl.java:该类继承org.richfaces.model.TreeNodeImpl,使得该类成为树节点的数据结构。 EventBean.java:树拖动操作的监听器 NodeVo.java:Pojo类,作为树节点的对象 NodeVo.hbm.xml:Hibernate映射文件 TreesBean.java:对树操作的具体实现 (\src\demo\util\包下) DBUtil.java:数据库连接帮助类 2、应用配置项说明: 2-1、Web.xml中的配置项: 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利 org.richfaces.SKIN blueSky javax.faces.STATE_SAVING_METHOD client Faces Servlet javax.faces.webapp.FacesServlet -1 Faces Servlet *.jsf RichFaces Filter richfaces org.ajax4jsf.Filter richfaces Faces Servlet REQUEST FORWARD INCLUDE 30 index.jsp 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利 demo.util.DBUtil 2-2、faces-config.xml配置及说明: person demo.grid.Person request personsBean demo.grid.PersonsBean session eventBean demo.grid.EventBean request personsBean demo.grid.PersonsBean #{personsBean} 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利 treesBean demo.tree.TreesBean session evntBean demo.tree.EventBean request treesBean demo.tree.TreesBean #{treesBean} org.richfaces.ui.application.StateApplicationFactory demo.phase.PostbackPhaseListener 二、代码说明: 1、\grid\grid.jsp: 标签的说明: :拖动指标 :扩展的数据表 sortMode="single":指定排序方式为对单列排序 selectionMode="single":指定一次只可以选择一行 rows="#{personsBean.rows}":将显示的行数 rowKeyVar="row":在请求域内访问某一行的键值 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利 ajaxKeys="#{personsBean.keys}":后台bean中keys将在一个ajax请求后更新自身的值 :可排序可拖动的列 :拖动时显示的指标和拖动的对象 dragIndicator="indicator":拖动时显示的指标 dragType="all":拖动时产生的一个拖动类型(以匹配拖放时对应的接受类型) dragValue="#{p}":拖动的对象 :拖动指标上显示的数据 :支持拖放的标签 acceptedTypes="all":可接受的拖放类型(对应rich:dragSupport中的dragType="all") dropValue="#{p}":拖放到某行,该行对应的对象 dropListener="#{eventBean.processDrop}":拖放动作的监听方法 reRender="table":拖放操作后刷新的局部区域 oncomplete="if(#{personsBean.canOpenMsgPanel==1}) #{rich:component('msgPanel')}.show()":拖放完成后的处理操作 :具有ajax功能的输入框 converterMessage="Age value should be integer. Age at row #{row+1} can't be changed.":类型转换错误时的提示信息 requiredMessage="Age at row #{row+1} wasn't filled. Value can't be changed.":输入为空的提示信息 selectOnEdit="true":使得编辑该输入框时就选中它 :试图状态被激活时触发ajax事件,事件处理完成后刷新table :ajax功能的commandLink ajaxSingle="true":限制JSF树对处理的组件只发送请求(不执行后续的生命周期的操作) :执行该ajax操作时将value="#{p}"的值赋值给后台bean中的personsBean.currentItem :通过ajax请求滚动查询表格数据的标签 :模式对话窗口 autosized="true":可自动调整大小 moveable="false":不可拖动 :窗口标题栏显示的文字 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利 :窗口主体显示的文字 :处理ajax请求时的状态提示 2、\tree\tree.jsp: :树标签 2-1、rich:tree标签中 switchType="ajax":节点操作触发事件的处理类型为ajax value="#{treesBean.treeNode}":该树的根节点 var="item":item是该标签中的一个局部变量,此变量只用来负责在页面上显示节点,值为树中的节点对象 treeNodeVar="treeNode":在请求域范围内定义了一个TreeNode类型的变量,该变量的值为某个节点对象 nodeFace="#{item.type == 1 ? 'node' : 'leaf'}":判断显示目录节点还是叶子节点 2-2、rich:treeNode标签中 type="node":该节点类型为目录节点(type="leaf"为叶子节点) changeExpandListener="#{treesBean.processExpansion}":折叠与展开操作的监听方法 :拖动指标上显示的文字 3、后台java代码: 所有的说明参考源码,源码中有注释。 地址:南京市宁南大道328号雨花软件园西幢6层 邮编:210012 电话:86-25-86641410 传真:86-25-84512645转605 网址:http://www.sudytech.com 版权所有 (C) 南京苏迪科技有限公司,保留所有权利

下载文档到电脑,查找使用更方便

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 金币 [ 分享文档获得金币 ] 0 人已下载

下载文档