1. 配置 RichFaces
1) 添加 lib 到 CLASSPATH
• richfaces-api-3.2.x.jar
• richfaces-impl-3.2.x.jar
• richfaces-ui-3.2.x.jar
2) 配置 web.xml 文件
• 主要是添加 ajax4jsf 的 Filter
<filter>
<display-name>RichFaces Filter</display-name>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
• 可以选择性的设置 SKIN 参数
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>blueSky</param-value>
</context-param>
3) 在页面中添加 taglib 声明
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
<%@ taglib uri="http://richfaces.org/rich" prefix="rich"%>
2. 部分页面更新( Partial-Page Update )
指定的控件将会在 Server 上被 render 出来, Browser 接收到 response ,一部分页面就会被更新。换句话说,就是一部分 DOM 会被更新。
3. 使用 <a4j:support>
1) onkeyup 事件是标准的 DHTML 事件
2) 如何使用 < a4j:support>
• <a4j:support> 可以添加到任何标准 JSF 控件内部 ;
• 将 <a4j:support> 作为 Child 控件添加到 JSF 控件内 , 并指定一个将要触发 request 的 DHTML 事件 , 比如 onkeyup ;
• 用 actionListener 属性指定 ActionListener (方法)来应对 DHTML 事件;
• reRender 属性用来指定哪些控件将要被更新。
在这种情况下,每次 onkeyup 事件都会触发一次 Ajax Request 。 Server 得到 Request ,进入正常的 JSF 生命周期。然后 Ajax 得到 Response 并刷新部分页面。
【注意】
对于通常的 <f:message> ,如果不做特别操作,即使把这个 <f:message> 的 ID 加入触发 Ajax Request 的控件的 reRender 属性,当验证出错的时候, <f:message> 也不会被刷新到页面上来。
原因在于, Ajax Request 是根据 ID 在 DOM Tree 中查找控件位置,进行部分刷新的。当第一次载入页面的时候,因为没有错误信息,所以 <f:message> 不会被 render 。但当 Ajax Request 提交的值验证失败产生错误信息的时候, Server 发回的 Response 被 Ajax 接收到, Ajax 按照 ID 去查找控件的 DOM Tree 位置。这是它将无法定位 <f:message> ,因而也就无法刷新出来了。
解决办法有两种:
• 将 <f:message> 放在 <h:panelGroup> 或 <a4j:outputPanel> 中,将 <h:panelGroup> 或 <a4j:outputPanel> 的 ID 放到触发 Ajax Request 的控件的 reRender 中。
• 直接使用 <rich:message> 以代替 <f:message> , <rich:message> 实际上就是将 <f:message> 放进 <a4j:outputPanel ajaxRendered=”true”> 中( <a4j:outputPanel ajaxRendered=”true”> 中的控件总是会被刷新的)。
4. 使用 <a4j:log>
将 <a4j:log> 加入页面,当运行时按下 Ctrl+Shift+L 的时候会弹出一个信息页面窗口,根据你的操作,会自动刷新出 Debug 信息。
可以更改热键,比如: <a4j:log hotkey="D"/>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/gengv/archive/2009/06/05/4246303.aspx
分享到:
相关推荐
《Java JSF Richfaces在办公自动化系统中的应用详解》 在现代企业信息化建设中,办公自动化系统的开发与应用已经成为提升工作效率、实现管理现代化的关键。本文将深入探讨如何利用Java、JSF(JavaServer Faces)...
### JBoss RichFaces 3.3:增强JSF Web应用程序的强大力量 #### 引言 《JBoss RichFaces 3.3》是一本专为希望利用强大的AJAX组件来增强JSF(JavaServer Faces)Web应用的开发人员而编写的书籍。作者Demetrio ...
dwRichFaces4Demo1 示例应用程序很简单;其惟一的真正目的是展示所选组件的设置和用法。因此,它的作用便是收集和显示输入数据。请想象一下如何在生产应用程序中使用数据和组件。除了必要的 JAR、图像、支持资源绑定...
《Practical RichFaces》这本书深入探讨了如何在JavaServer Faces (JSF) 应用程序中有效地使用RichFaces框架,从而实现高效的AJAX功能。 RichFaces是一个强大的JSF组件库,它极大地扩展了JSF的功能,特别是在提升...
《Practical JBoss Seam》是一本深入探讨JBoss Seam框架技术的书籍,其源代码包含在提供的压缩包中。Seam是一种开源的企业级Java框架,它整合了多种技术和概念,如JavaServer Faces (JSF)、Java Persistence API ...
《Practical RichFaces, 2nd Edition》是一本专注于JavaServer Faces (JSF)及其增强库RichFaces的实用指南。本书旨在帮助开发者深入了解并充分利用JSF和RichFaces的强大功能,特别是在Web应用程序开发领域。随着技术...
RichFaces_3.3.3_TLD.chm
**标题解析:** "richfaces_helloWorld" 这个标题暗示了我们正在处理一个与RichFaces框架相关的示例项目,具体来说是一个“Hello World”应用。RichFaces是基于JavaServer Faces (JSF) 技术的开源用户界面组件库,...
《深入解析RichFaces 3.3用户指南:框架精髓与实战应用》 一、引言:RichFaces框架概览 RichFaces 3.3作为一款先进的企业级开发框架,为开发者提供了丰富的组件库以及强大的皮肤支持,极大地提升了Web应用程序的...
### RichFaces框架知识点详解 #### 一、简介 RichFaces是一款功能强大的开源JavaScript库与Java Server Faces (JSF) 集成的组件库,它提供了丰富的用户界面组件以及Ajax支持,大大简化了Web应用程序的开发过程。此...
**Richfaces ShowCase离线包** 是一个专为开发者设计的资源包,它包含了Richfaces框架的演示示例,能够帮助用户在没有网络连接的情况下也能深入理解和学习Richfaces的功能和用法。这个离线包特别适合那些需要在本地...
RichFaces 4.5 是一个强大的JavaServer Faces (JSF) 框架的扩展库,专为构建富互联网应用程序(Rich Internet Applications, RIA)而设计。这个库提供了丰富的组件集,以及对JavaScript(JS)和Java API的支持,使得...
**RichFaces中文开发文档概述** RichFaces是一款基于JavaServer Faces(JSF)技术的开源UI组件库,由JBoss组织开发。它为JSF应用程序提供了丰富的用户体验和强大的交互功能。这款框架极大地简化了Web开发过程,尤其...
《深入理解RichFaces UI 3.2.1在JBoss中的应用》 RichFaces UI 3.2.1是JBoss框架中一个重要的组件,它为开发人员提供了一套强大的AJAX(Asynchronous JavaScript and XML)功能,极大地提升了Web应用程序的交互性和...