本文内容针对 3.3版本
关于ajax原理:
最近用firefox看了一下RichFaces的ajax报文
发现它的post的header中没有X-Http-With XmlHttpRequest
觉得很奇怪,后来看到jboss RichFaces社区有人回答这个问题。说是用开发人员认为XmlHttpRequest在有的浏览器下面有问题,因而采用了在post中增加 AJAXREQUEST
_viewRoot 的方式。
我猜还有部分原因是因为为了配合jsf的生命周期,ajax4jsf的JavaScript引擎采用模拟的方式发送post,jsf的server并不知道发过来的post是同步的还是异步的,因而请求都按照lifecycle的6个周期进行处理。
只是发现有AJAXREQUEST
后,某些部分做特殊处理(也就是说这个标志位表明是ajax请求)。
请求的结果(也就是需要reRender的部分的xml)返回给ajax4jsf的JavaScript引擎,由JavaScript引擎更新到页面上。
关于a4j的使用
:
这里说明几个容易混乱的概念。
ajaxSingle
input控件的子component中包含该属性(通常是<a:support>上)
如果ajaxSingle=false,该input提交ajax请求之后,在post中被提交的所有的字段,都会触发验证。
如果ajaxSingle=true,该input提交ajax请求之后,只有该字段本身的验证会被触发。
reRender
表示ajax出发之后,需要重绘那些区域。
这个属性和ajaxSingle毫无关系,举个例子,a区域的reRender写的是b区域,
则即使是a区域有错,ajax请求完成后,错误信息也不会显示出来(因为指定的是b区域刷新)
a:region
当页面上没有a:region的时候,默认提交的所有字段都进行处理(即 AJAXREQUEST
_viewRoot
)。
如果页面上有a:region,则只有a:region中的内容被处理,例如AJAXREQUEST
testa4jform:j_id8
其中 testa4jform:j_id8是a:region的component Client Id。
这里所说的提交,不论是用a:support或者a:commandbutton,都是ajax提交。
例如,将某个input控件表为ajaxSingle=false,则应该整个form的input都被处理,如果将其中的一部分框在a:region中并提交,则只有这部分被处理。
分享到:
相关推荐
### RichFaces 3.3 帮助文档关键知识点概览 #### 一、简介 - **RichFaces框架概述:** RichFaces是一个基于JavaServer Faces(JSF)的开源组件库,提供了大量的富客户端组件以及对皮肤的支持。该文档详细介绍了如何...
对于jboss Richfaces3.3界面重用做了比较详尽的讲述。 在对界面了解的同时,也对Richfaces组件也能有进一步的了解。 里面的英文理解起来很简单,可以提高英文阅读水平。 对于richfaces与ajax的诸多关系,也做了介绍...
标题"RichFaces/A4J API 英文版 下载 附 java 调用webservice" 提到了两个主要知识点:RichFaces和A4J API的英文版,以及Java调用Web服务。这表明我们将在讨论一个用于构建富互联网应用程序(RIA)的框架,以及...
Richfaces3.3.3常用组件使用手册 便于学习Richfaces和a4j和jsf框架 很好很实用
### JBoss RichFaces 3.3:增强JSF Web应用程序的强大力量 #### 引言 《JBoss RichFaces 3.3》是一本专为希望利用强大的AJAX组件来增强JSF(JavaServer Faces)Web应用的开发人员而编写的书籍。作者Demetrio ...
从JBoss AS到Oracle AS/OC4J,再到Sybase EAServer,RichFaces覆盖了主流的企业级应用服务器,保证了应用部署的广泛适用性。 ### 4. 浏览器兼容性 考虑到Web应用的多平台访问需求,RichFaces优化了对各种浏览器的...
- "richfaces3.3":这是 RichFaces 的特定版本标签,表示讨论的是3.3版本。 - "richfaces.jar":这是 RichFaces 库的 JAR 文件名,通常包含了框架的核心功能。 - "ajax4jsf":Ajax4JSF 是 RichFaces 的早期名称,它...
**标题解析:** "richfaces livedemo 3.3最新Eclipse工程" 指的是一款基于RichFaces 3.3版本的LiveDemo项目,它是一个集成在Eclipse开发环境中的示例应用。RichFaces是JavaServer Faces (JSF) 技术的一个扩展库,...
richfaces Demo 最新版3.3下载,直接放在tomcat上即可运行,访问网址:http://localhost:8080/richfaces-demo-3.3.0.GA-tomcat6
A4J全称为Asynchronous 4 Java,是一个基于Ajax技术的Java服务器端框架,由RichFaces项目提供。它主要目的是为了帮助开发人员在JavaServer Faces (JSF) 应用中实现高效的、异步的用户界面交互。通过A4J,你可以创建...
A4J是RichFaces项目的一部分,它提供了在JSF应用中实现异步更新页面的能力。通过A4J,开发者可以创建高度交互性和动态的Web应用,而无需深入学习复杂的JavaScript或XMLHttpRequest技术。A4J的主要目标是简化JSF中的...
这是用richfaces3.1写的一个学习笔记。需要的看看 在jboss4.2下运行正常。 在tomcat中如果抛异常。 是因为jar包不一样导致的。可以给我发留言。我给你完整包 liucheng418@163.com
4. **RichFaces组件库**:除了A4J组件,RichFaces还包含其他丰富的UI组件,如数据网格、日期选择器等,这些组件可以与A4J无缝集成,为JSF应用添加更多功能。 **三、A4J实践** 1. **示例代码**:在文档《A4J 用户...
【标题】:“A4j 原创小案例+Spring+Hibernate”是一个综合性的IT学习资源,涵盖了多个关键的技术框架,旨在帮助用户理解和实践这些技术的整合应用。 【描述】:“个人做的 小例子 A4j Myfaces JSF Spring ...
<a4j:ajaxListener> 是 RichFaces 提供的一种 AJAX 组件,能够监听用户的交互事件,并执行相应的服务器端逻辑。 作用:<a4j:ajaxListener> 能够监听用户的交互事件,例如,点击按钮、选择下拉菜单等,并执行相应的...
在提供的文件列表中,"a4jEchoText"可能是一个示例组件,它可能来自于RichFaces的a4j库。a4j库是RichFaces的一部分,提供了对AJAX功能的扩展。`a4j:echoText`组件通常用于实时显示或更新页面上的文本信息,例如,...
A4J是RichFaces框架的一部分,允许开发者在JSF应用中实现异步数据更新,而无需刷新整个页面。 1. **<a4j:keepAlive>组件** `<a4j:keepAlive>`组件的核心作用是保持Managed Bean的状态,尤其是在`request`范围内的...
<%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %> <%@ taglib uri="http://richfaces.org/rich" prefix="rich" %> ``` - **XHTML文件**:对于使用Facelets作为视图表示技术的项目,需要在XHTML文件的...
1. **AJAX 支持**:RichFaces 使用 A4J (Ajax for Java) 技术,允许开发者通过简单的声明式或编程方式实现页面局部更新,减少页面重载,提升响应速度。 2. **组件库**:包括各种富组件,如数据表(DataTable)、...
5. **a4j:commandLink** 和 **a4j:commandButton**:创建支持Ajax的链接和按钮。 6. **a4j:outputPanel**:定义一个可以被Ajax操作的面板。 7. **a4j:actionparam**:用于传递额外的参数给服务器。 8. **a4j:status*...