`
wangzl2222
  • 浏览: 150916 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

JSF Chapter02

阅读更多
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开发实践视频教程

    资源名称:精通JSF—基于EJBHibernateSpring开发实践视频教程资源目录:【】chapter13_code【】Jsf第七章【】JSF第二章【】Jsf第五章【】Jsf第八章【】Jsf第六章【】Jsf第十三章【】Jsf第十五章【】Jsf第十六章【】...

    jsf权威教程源码

    首先,我们可以看到文件名中有`chapter9_details.html`,这可能是一个关于第九章详细内容的HTML文档,通常这样的文件会包含讲解和示例代码的解释,可能涵盖了JSF组件的使用、事件处理、转换和验证等关键主题。...

    jsf完全参考手册源代码

    2. `chapter02`:这可能是参考手册的第二章,根据命名规律,可能是按照章节组织的源代码。这一章可能涵盖了JSF的基础知识,比如页面生命周期、组件模型、表达式语言(EL)和 Managed Beans 的介绍,或者更进一步地,...

    jsf完全参考手册中的源代码

    下面我们将详细探讨JSF的核心概念、关键组件以及`build.properties.sample`和`chapter05`可能包含的内容。 **JSF框架概述:** JSF是Java EE的一部分,旨在简化Web开发,通过提供UI组件、事件处理和数据绑定等功能来...

    精通JSF基于EJB HibernateSpring整合天发与项目实践 书本源码

    书本源码中的各个章节代码文件,如chapter3_code到chapter10_code,分别对应书中各章节的实例代码。这些代码实例通常会展示如何在实际项目中应用JSF、EJB、Hibernate和Spring进行整合,包括但不限于以下知识点: 1....

    Java.EE.7.Development.with.NetBeans.8

    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 ...

    使用JSP开发Web应用系统(JSP) Chapter3

    在本章"使用JSP开发Web应用...在后续章节中,你还会接触到更多高级主题,如EL(Expression Language)、JSF(JavaServer Faces)以及现代Web框架如Spring MVC的使用。持续学习和实践,将使你成为一位熟练的Web开发者。

    seam 的eclipse工程例子3

    在这个"chapter3"的例子中,你可能会看到以下内容: - 一个简单的JSF页面,展示了Seam组件如何与JSF页面交互。 - 一个Seam组件类,可能包含一些业务逻辑或数据访问操作。 - 相关的配置文件,如`pom.xml`(如果使用...

Global site tag (gtag.js) - Google Analytics