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"/>
from:http://blog.csdn.net/gengv/archive/2009/06/05/4246303.aspx
分享到:
相关推荐
资源名称:精通JSF—基于EJBHibernateSpring开发实践视频教程资源目录:【】chapter13_code【】Jsf第七章【】JSF第二章【】Jsf第五章【】Jsf第八章【】Jsf第六章【】Jsf第十三章【】Jsf第十五章【】Jsf第十六章【】...
Topics in This Chapter • “Why JavaServer Faces?” on page 3 • “A Simple Example” on page 4 • “Development Environments for JSF” on page 13 • “An Analysis of the Sample Application” on page ...
The state-of-the-art concepts such as SOAP, Applet, Servlet, JSP, JDBC, Hibernate, JMS, J2EE, JNDI, CORBA, JSF etc. have been discussed in the last part. The content is enhanced with numerous ...
Chapter 3: JSF Component Libraries Chapter 4: Interacting with Databases through the Java Persistence API Chapter 5: Implementing the Business Tier with Session Beans Chapter 6: Contexts and ...
Discover how to use EJB 3.x, JSF 2.x, Ajax, JAX-RS, JAX-WS, and Spring with WildFly 8.1 A practical guide filled with easy-to-understand programming examples to help you gain hands-on experience with ...
Discover how to use EJB 3.x, JSF 2.x, Ajax, JAX-RS, JAX-WS, and Spring with WildFly 8.1 A practical guide filled with easy-to-understand programming examples to help you gain hands-on experience with ...
Use JSP, Servlet, JSF, and EJBs to create a user interface and write business logic Create JEE database applications using JDBC and JPA Handle asynchronous messages using MDBs for better scalability ...
Chapter 1. Seam 入门.................................................................................................................................................................14 1.1. 试试看........
■ Chapter 18: Spring Web Flow and JSF.............................................................663 ■ Chapter 19: Spring Testing ......................................................................
Java EE 8应用程序开发 这是发布的的代码存储库。 它包含从头到尾完成本书所必需的所有支持项目文件。 关于这本书 Java EE是企业Java标准。... 例如,Chapter02。 该代码将如下所示: if (!emailVa
6 More Examples on JSF and Visual Web Development Part VI -- Case Studies 1 Complete Sudoku Solution (Chapter 7) Sudoku Solution Animation ...