- 浏览: 148002 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (87)
- seam/jsf (22)
- java (24)
- spring (6)
- hibernate (2)
- Mysql (4)
- web (1)
- JMS (0)
- 计算机(computer) (1)
- linux (3)
- eclipse (4)
- Javascript (1)
- xstream (3)
- JPA (2)
- 汇编 (1)
- HttpClient (1)
- quartz (1)
- J2EE (2)
- EJB (1)
- restful web (1)
- maven (1)
- TTServer (3)
- restlet (0)
- jquery (0)
- Firebug (0)
- jquery Masonry+Infinite-Scroll (0)
- JACOB (0)
- elasticsearch (0)
最新评论
-
tuspark:
关于ApplicationContextAware的详细介绍, ...
ApplicationContextAware -
hc_face:
应该是 环境被初始化的时候,bean 也一并被初始化吧。先后顺 ...
ApplicationContextAware -
奇林醉:
有点明白了
Collections.unmodifiableList() -
tcking:
HashSet不关心迭代的次序,也就是说下一次的迭代次序可能就 ...
HashSet LinkedHashSet TreeSet -
yzhw:
我要去试试
seam前端提速
本章主要包括三方面内容:
· 发送 Ajax Request
· 实现 Partial-Page 更新
· 了解什么数据将会被 process
1. 发送 Ajax Request
1) 四个 RichFaces 控件可以发送 Ajax Request 并允许 Partial-Page 更新
• <a4j:commandLink>
• <a4j:commandButton>
• <a4j:support>
• <a4j:poll>
2) <a4j:commandLink> 与 <a4j:commandButton>
与标准的 <h:commandLink> 与 <h:commandButton> 非常相似,增加的功能:
• reRender 属性,用于指定哪些控件需要 Partial-Page 更新;
• 对于 Partial-Page 更新, action 方法的返回值应为 null 。 Response 将被用来更新 Browser 的 DOM 。
3) <a4j: support>
• <a4j: support> 应该作为标准 JSF 控件的直接子控件( Direct Child )来使用。
• 关键属性 event ,用来指定哪个 DHTML event 将会引发 Ajax Request 。(实际上, <a4j:commandLink> 与 <a4j:commandButton> 是使用了“ onClick ” DHTML event 来引发 Ajax Request 。
• 至于能够指定哪些 DHTML 事件,取决于父控件能够支持哪些。
• 当在页面上混合使用 <a4j: support> 和 JavaScript 代码时,有可能导致不确定的结果,因为 JavaScript 代码有可能比 <a4j: support> “抢占先机”。
• 可以同时组合使用多个 <a4j:support> 以分别应对不同的 DHTML event ,比如 onClick 、 onkeyup 、 onkeydown 等。
4) <a4j:poll>
• interval 指定多长时间向 Server 发送一次 Ajax Request ;
• enabled 是否启动自动发送 Ajax Request 功能;
• reRender 页面的哪些控件(部分)要被刷新;
将 <a4j:poll> 放置在一个独立的 form 里,这样在发送 Request 的时候,其他 form 里面的 Field 将不会被发送。
5) limitToList 属性
• 能够引发 Ajax Request 的四种控件都有 limitToList 这个属性;
• 当 limitToList 设为 true 的时候,只有当前控件的 reRender 里面的控件会被刷新;
• 即使 <a4j:outputPanel ajaxRendered=”true”> 也不会被刷新。
2. 实现 Partial-Page 更新
1) 两种方法:
• reRender 属性
• <a4j:outputPanel ajaxRendered=”true”>
2) 使用 reRender 属性
• 通常是逗号分隔的 ID 列表;
• 当 reRender 指向一个容器类控件的时候,该容器控件中的子控件也将被刷新;
• 接受 EL 表达式,如 #{profile.renderList} ,以实现 reRender 控件列表的动态刷新;
• 接受 4 种格式: Set 、 List 、 String[] 、 String (逗号分隔 ID 列表)。
【注意】
EL 表达式只在 Render Response 阶段之前被解析,也就意味着,可以在 action 或 actionListener 里更新 reRender 控件列表。
通常情况下,页面里的 EL 表达式应该在 Update Model Value 阶段被解析( Update Model Value 阶段在 Invoke Application 阶段之前)。而此处, EL 表达式只在 Render Response 阶段之前被解析( Render Response 阶段在 Invoke Application 阶段之后),也就留给我们机会在 Invoke Application 阶段的 action 或 actionListener 里对 reRender 控件列表进行修改。如修改 #{profile.renderList} 里面的的 renderList 集合对象。
3) 使用 <a4j:outputPanel>
• <a4j:outputPanel> 与 <h:panelGroup> 很相似,是一个容器类的控件;它的 ID 也可以被添加到其他控件的 reRender 属性里。
• 当 <a4j:outputPanel> 的 ajaxRendered 属性被设为 true ,则其内部的控件总会被刷新。
3. 了解什么数据将会被 process
1) 使用 <a4j:region>
• 可以使用 <a4j:region> 来指定哪些控件将被 process ( Process 包括解码 decoding 、转换 conversion 、验证 validation 、更新模型值 model updating );
• 请注意,整个 Form 还是会被提交,只是在 region 中的控件会被 process ;
• 如果未指定 region ,则整个页面将作为一个 region ,也就意味着整个 form 被 process ;
• 对于嵌套 region ,当外部 region 里的 ajax 控件引发 Request 的时候,内部 region 里的控件也将一起被 process ;而当内部 region 里的 ajax 控件引发 Request 的时候,外部 region 里的控件则不会随之一起 process ;
【注意】切勿将 process 和 reRender 相混淆
<a4j:region> 只是表明哪些控件被 process (解码 decoding 、转换 conversion 、验证 validation 、更新模型值 model updating );而 Partial-Page 刷新还是得靠 reRender 和 <a4j:outputPanel> 负责。两者之间,概念不同。
2) 使用 ajaxSingle 属性
• 将 ajaxSingle 属性设为 true ,等同于将单个控件包装在 <a4j:region> 中。如:
<h:inputText value="#{profile.age}">
<a4j:support event="onblur" reRender="userInfo" ajaxSingle="true">
</h:inputText>
等同于
<a4j:region>
<h:inputText value=”#{profile.age}”>
<a4j:support event=”onblur” reRender=”userInfo”>
</h:inputText>
</a4j:region>
• 对于单独的 <a4j:commandButton> 或 <a4j:commandLink> , ajaxSingle 也可以设为 true ,也就是只有这个控件被 process 。
3) 使用 process 属性
• process 属性用于设置 region 外的控件随 region 内的控件一起 process ;
• 接受 4 种格式: Set 、 List 、 String[] 、 String (逗号分隔 ID 列表)。
from:http://blog.csdn.net/gengv/archive/2009/06/05/4246420.aspx
· 发送 Ajax Request
· 实现 Partial-Page 更新
· 了解什么数据将会被 process
1. 发送 Ajax Request
1) 四个 RichFaces 控件可以发送 Ajax Request 并允许 Partial-Page 更新
• <a4j:commandLink>
• <a4j:commandButton>
• <a4j:support>
• <a4j:poll>
2) <a4j:commandLink> 与 <a4j:commandButton>
与标准的 <h:commandLink> 与 <h:commandButton> 非常相似,增加的功能:
• reRender 属性,用于指定哪些控件需要 Partial-Page 更新;
• 对于 Partial-Page 更新, action 方法的返回值应为 null 。 Response 将被用来更新 Browser 的 DOM 。
3) <a4j: support>
• <a4j: support> 应该作为标准 JSF 控件的直接子控件( Direct Child )来使用。
• 关键属性 event ,用来指定哪个 DHTML event 将会引发 Ajax Request 。(实际上, <a4j:commandLink> 与 <a4j:commandButton> 是使用了“ onClick ” DHTML event 来引发 Ajax Request 。
• 至于能够指定哪些 DHTML 事件,取决于父控件能够支持哪些。
• 当在页面上混合使用 <a4j: support> 和 JavaScript 代码时,有可能导致不确定的结果,因为 JavaScript 代码有可能比 <a4j: support> “抢占先机”。
• 可以同时组合使用多个 <a4j:support> 以分别应对不同的 DHTML event ,比如 onClick 、 onkeyup 、 onkeydown 等。
4) <a4j:poll>
• interval 指定多长时间向 Server 发送一次 Ajax Request ;
• enabled 是否启动自动发送 Ajax Request 功能;
• reRender 页面的哪些控件(部分)要被刷新;
将 <a4j:poll> 放置在一个独立的 form 里,这样在发送 Request 的时候,其他 form 里面的 Field 将不会被发送。
5) limitToList 属性
• 能够引发 Ajax Request 的四种控件都有 limitToList 这个属性;
• 当 limitToList 设为 true 的时候,只有当前控件的 reRender 里面的控件会被刷新;
• 即使 <a4j:outputPanel ajaxRendered=”true”> 也不会被刷新。
2. 实现 Partial-Page 更新
1) 两种方法:
• reRender 属性
• <a4j:outputPanel ajaxRendered=”true”>
2) 使用 reRender 属性
• 通常是逗号分隔的 ID 列表;
• 当 reRender 指向一个容器类控件的时候,该容器控件中的子控件也将被刷新;
• 接受 EL 表达式,如 #{profile.renderList} ,以实现 reRender 控件列表的动态刷新;
• 接受 4 种格式: Set 、 List 、 String[] 、 String (逗号分隔 ID 列表)。
【注意】
EL 表达式只在 Render Response 阶段之前被解析,也就意味着,可以在 action 或 actionListener 里更新 reRender 控件列表。
通常情况下,页面里的 EL 表达式应该在 Update Model Value 阶段被解析( Update Model Value 阶段在 Invoke Application 阶段之前)。而此处, EL 表达式只在 Render Response 阶段之前被解析( Render Response 阶段在 Invoke Application 阶段之后),也就留给我们机会在 Invoke Application 阶段的 action 或 actionListener 里对 reRender 控件列表进行修改。如修改 #{profile.renderList} 里面的的 renderList 集合对象。
3) 使用 <a4j:outputPanel>
• <a4j:outputPanel> 与 <h:panelGroup> 很相似,是一个容器类的控件;它的 ID 也可以被添加到其他控件的 reRender 属性里。
• 当 <a4j:outputPanel> 的 ajaxRendered 属性被设为 true ,则其内部的控件总会被刷新。
3. 了解什么数据将会被 process
1) 使用 <a4j:region>
• 可以使用 <a4j:region> 来指定哪些控件将被 process ( Process 包括解码 decoding 、转换 conversion 、验证 validation 、更新模型值 model updating );
• 请注意,整个 Form 还是会被提交,只是在 region 中的控件会被 process ;
• 如果未指定 region ,则整个页面将作为一个 region ,也就意味着整个 form 被 process ;
• 对于嵌套 region ,当外部 region 里的 ajax 控件引发 Request 的时候,内部 region 里的控件也将一起被 process ;而当内部 region 里的 ajax 控件引发 Request 的时候,外部 region 里的控件则不会随之一起 process ;
【注意】切勿将 process 和 reRender 相混淆
<a4j:region> 只是表明哪些控件被 process (解码 decoding 、转换 conversion 、验证 validation 、更新模型值 model updating );而 Partial-Page 刷新还是得靠 reRender 和 <a4j:outputPanel> 负责。两者之间,概念不同。
2) 使用 ajaxSingle 属性
• 将 ajaxSingle 属性设为 true ,等同于将单个控件包装在 <a4j:region> 中。如:
<h:inputText value="#{profile.age}">
<a4j:support event="onblur" reRender="userInfo" ajaxSingle="true">
</h:inputText>
等同于
<a4j:region>
<h:inputText value=”#{profile.age}”>
<a4j:support event=”onblur” reRender=”userInfo”>
</h:inputText>
</a4j:region>
• 对于单独的 <a4j:commandButton> 或 <a4j:commandLink> , ajaxSingle 也可以设为 true ,也就是只有这个控件被 process 。
3) 使用 process 属性
• process 属性用于设置 region 外的控件随 region 内的控件一起 process ;
• 接受 4 种格式: Set 、 List 、 String[] 、 String (逗号分隔 ID 列表)。
from:http://blog.csdn.net/gengv/archive/2009/06/05/4246420.aspx
发表评论
-
seam前端提速
2010-09-08 13:11 1349Seam使用了richfaces做为jsf ... -
seam topic
2010-08-25 16:58 2181Forum: Seam Users Forum ListTop ... -
maven 中使用jetty 改端口号
2010-08-04 13:52 1370jetty 使用时,如果出现 address already ... -
seam空格
2010-07-23 09:59 685seam空格:&nbps;没用 ,要使用 ... -
null value seam
2010-07-23 09:33 511因为给model添加一个double类型的字段(数据库已有一些 ... -
Seam el 中使用 map
2010-06-29 15:23 1257一直以为在el里不能用map,今天发现原来可以... @na ... -
seam pdf The document has no pages
2010-06-28 13:31 1738用seam 中的pdf功能时 出现The document h ... -
JSF多对多增加
2010-06-25 17:04 891多对多关系时 person (n-n) work (perso ... -
JSF Chapter04
2010-06-24 13:18 1496. 用队列控制 Event Traffic ... -
JSF Chapter11
2010-06-24 13:14 8331. 使用内建的 Skins 1) 基 ... -
JSF Chapter10
2010-06-24 13:13 1158. <rich:scrollableDataT ... -
JSF Chapter09
2010-06-24 11:35 9911. <rich:dropDownM ... -
JSF Chapter08
2010-06-24 11:34 12811. <rich:pickList> ... -
JSF Chapter07
2010-06-24 11:34 15641. 常用的 dataTable 类的控件有: l ... -
JSF Chapter06
2010-06-24 11:20 1712. <rich:panel> 1) ... -
JSF Chapter05
2010-06-24 11:18 16491. a4j: 提供了页面级的 Ajax 支持,也 ... -
JSF Chapter02
2010-06-24 11:13 9311. 配置 RichFaces 1) ... -
JSF Chapter01
2010-06-24 11:12 9021. JSF’s View = UICompone ... -
JSF Chapter04(频繁调用控件)
2010-06-24 11:06 13281. <!-- [end ... -
Property '****' is not writable on type
2010-04-28 22:20 1079再用seam+jsf开发的时候冒出:***Edit.xhtml ...
相关推荐
资源名称:精通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 ...
Publication Date: 2015-03-27 ISBN-10: 1783288906 ISBN-13: 9781783288908 Your one-stop guide to developing Java® EE applications with the Eclipse IDE, Maven, and WildFly® 8.1 About This Book ...
Publication Date: 2015-03-27 ISBN-10: 1783288906 ISBN-13: 9781783288908 Your one-stop guide to developing Java® EE applications with the Eclipse IDE, Maven, and WildFly® 8.1 About This Book ...
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 ......................................................................
6 More Examples on JSF and Visual Web Development Part VI -- Case Studies 1 Complete Sudoku Solution (Chapter 7) Sudoku Solution Animation ...
本书涵盖了所有主要的Java EE 8 API,包括JSF 2.3,Enterprise JavaBeans(EJB)3.2,上下文和依赖关系。注入(CDI)2.0,WebSocket的Java API,JAX-RS 2.1,Servlet 4.0等。 说明和导航 所有代码都组织在文件夹中。...