AJ用户指南 .pdf

上传人:Che****ry 文档编号:34860467 上传时间:2022-08-19 格式:PDF 页数:40 大小:912.68KB
返回 下载 相关 举报
AJ用户指南 .pdf_第1页
第1页 / 共40页
AJ用户指南 .pdf_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《AJ用户指南 .pdf》由会员分享,可在线阅读,更多相关《AJ用户指南 .pdf(40页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、A4J 用户指南Copyright ? 2006 Exadel 译者: icess( http:/ ) 转载请保留版权标识和译者信息. 目录1. 介绍2. 开始使用 Ajax4jsf环境需求下载 Ajax4jsf安装简单的 AJAX Echo 项目JSP 页面数据 Beanfaces-config.xmlWeb.xml部署3. Ajax4jsf 框架的基本概念介绍结构概览如何做 .发送一个 AJAX 请求决定发送什么决定改变什么4. Ajax4JSF 组件库a4j:ajaxListenera4j:regiona4j:pagea4j:supporta4j:commandLinka4j:comma

2、ndButtona4j:outputPanela4j:actionparama4j:statusa4j:loadBundlea4j:mediaOutput5. Ajax4jsf内建的换肤功能6. 技术要求支持的 java 版本支持的 JavaServer Faces 实现名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 40 页 - - - - - - - - - 支持的服务器支持的浏览器7. 附加的设置Web程序描述符参数Sun JSF RIApache MyFacesF

3、acelets 支持JBoss Seam 支持8. 与 IDE 集成9. Exadel VCP 和 Ajax4jsf10. Web 上的资源List of Tables4.1. a4j:ajaxListener attributes4.2. a4j:region attributes4.3. a4j:page attributes4.4. a4j:support attributes4.5. a4j:commandLink attributes4.6. a4j:commandButton attributes4.7. a4j:outputPanel attributes4.8. a4j:act

4、ionparam attributes4.9. a4j:status attributes4.10. a4j:loadBundle attributes4.11. a4j:mediaOutput attributes7.1. Initialization Parametres7.2. org.ajax4jsf.Filter Initialization Parametres10.1. Ajax4jsf Resources序言: Ajax4JSF 是一个很容易使用的框架. 有什么问题可以在JSF中文论坛讨论 .Chapter 1. 介绍这里是一些介绍 a4j 的内容 , 暂时先不翻译了 , 等有

5、时间再补充上 . Ajax4jsf 是一个添加 Ajax 功能到 JSF项目中的开源框架 , 使用该框架不用写JS代码. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 40 页 - - - - - - - - - Ajax4jsf 充分利用了 JSF框架的优点 , 如: 生命周期 , 验证, 转换的灵活性和受管理的静态和动态资源 . 使用 Ajax4jsf, 具有 Ajax 支持的富组件和高度可自定义的外观感觉可以很容易的与 JSF结合起来 . Ajax4JSF 被设计

6、用来 : 在使用 Ajax 时充分显示 JSF的优点 . Ajax4jsf 完全被结合到 JSF 生命周期中 . 当其他框架仅仅给你访问 Managed Bean的便利时 ,Ajax4JSF 带给你 Action 和 Value Change 监听器 , 激活服务端验证 , 在 Ajax 请求- 响应周期中的转化这些功能 . 添加 AJAX 功能到已经存在的 JSF 项目. 该框架被实现为使用一个组件库来添加ajax 功能到你的页面中 , 而不要写 js 代码或者使用新的Ajax 装饰器替换你已经做好的JSF组件. Ajax4jsf 具有页面范围 (page-wide) 的 Ajax 支持,

7、而不是传统的组件范围 (component-wide)的 ajax 支持. 这意味着你可以在页面中定义一个激活Ajax 请求的事件 , 和当根据客户端事件触发 Ajax 请求来改变服务器端数据后如何使用 JSF组件树来同步显示 JSF页面. 使用内建的 Ajax 支持写自定义富组件 . 将来, 我们将有一个完全的组件开发包(CDK)来支持AJax4JSF. CDK 将包含代码生成工具和一个使用类似JSP语法的模版工具 . 这些功能将去除一些创建组件的一个例行工作. 使用这个喝满油的组件工厂机器来创建一个带有Ajax 功能的富组件将比使用传统的编码过程创建一个简单的组件还要简单. 项目的 Jav

8、a 类与资源包 . 除了核心的 AJAX 功能外 , Ajax4jsf 也有管理资源的高级支持, 例如: 图片,JS 代码和 CSS 样式表单 , 资源框架使简单的打包这些资源到你自定义组件的Jar 文件中成为可能 . 动态(on-the-fly)将非常容易 . 作为另外一种附加的功能 , 资源框架有一个动态产生图片的工具. 使用这个特性 , 你可以使用类似于使用Java Graphic2D 库的方法来创建图片 . 使用基于皮肤的技术来创建一个现代富用户界面的外观感觉(look-and-feel). Ajax4jsf 提供一个换肤特性 . 该特性允许通过命名的皮肤参数来简单的定义和管理不同颜色

9、模式与其他UI 特性. 你可以从 JSP代码和 Java 代码(例如: 基于 UI 的文本来产生动态的图片 ) 来访问这些皮肤参数 . 注意:, 虽然换肤功能不是完全的替代传统的CSS, 但是它还是值得称赞的 . 测试 components, actions, listeners, 和 pages 就像你在创建他们一样容易. 一个制动测试工具正在开发中 . 它将在你开发组件使为你的组件产生测试案例. 该测试框架不仅仅测试组件, 也测试服务端和客户端的功能包括JS代码 . 作为附加的有用工具 , 你不需要单独的部署测试程序到 Servlet容器中 就可以做到这些了 . Ajax4JSF 组件已经

10、可以使用了 , 因此开发者可以立即使用这种省时的具有高级特性的工具来创建提供了更快更可靠的用户体验的Web程序了 . Chapter 2. 开始使用 Ajax4jsf Table of Contents名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 40 页 - - - - - - - - - EnvironmentDownloading Ajax4jsfInstallationSimple AJAX Echo Project JSP PageData Beanfaces

11、-config.xmlWeb.xmlDeployment环境要求要使用 Ajax4JSF 框架你仅仅需要 JDK1.4或者更高 , 任何 JSF实现, 和你最喜欢的 Servlet容器. 在下一章我们将给你提供详细的环境信息. Ajax4jsf 被设计为一个容易使用的框架. 仅仅有一点简单的设置步骤就可以在你的JSF程序中使用 Ajax 功能了 . 下载 Ajax4jsf 最新的 Ajax4jsf 发布版在这里https:/ 安装解压 ajax4jsf.zip 文件. 复制 ajax4jsf.jar and oscache-2.2.jar 到程序的 WEB-INF/lib 文件夹下 . 把下面

12、的内容添加到你的程序的 WEB-INF/web.xml 文件中 : Ajax4jsf Filter ajax4jsf org.ajax4jsf.Filter ajax4jsf Faces Servlet REQUEST FORWARD INCLUDE 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 40 页 - - - - - - - - - 注意. 你可以复制和粘贴上面的内容在 README.txt 文件中. 添加下面的内容 : 到你每个使用 Ajax 功能的 JSP页

13、面中 . 简单的 AJAX Echo 项目让我们来看一个简单的JSF项目. 我们仅仅需要一个JSP页面, 里面包含一个 Form和一些 JSF标签: 和 . 我们这个简单的程序应该可以让我们输入一些文字到中, 然后发送数据到Server, 并在 中显示 Server 的响应 ( 给我们一个 Echo信息). JSP 页面下面是一个我们需要的页面代码 (echo.jsp) : repeater 就如你看到的 , 唯一一行于常给 JSF页面代码不同的就是下面的一行 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -

14、 - - - - - 第 5 页,共 40 页 - - - - - - - - - 在这里我们在父标签 ()中添加了一个 AJAX 支持. 该支持绑定了 JavaScript事件“onkeyup” . 因此 , 每一次该事件发布给父标签时, 我们的程序将发送一个AJAX请求到Server. 这意味着我们的受管理的bean 将包含该“ text ” 域中我们输入的最新数据. 标签的“ reRender” 属性 (attribute)定义我们的页面的哪一部分被更新. 在这里 , 该页面唯一被更新的部位是 标签, 因为他的 ID 值和“reRender” 的属性值向匹配 . 在一个页面中更新多个元素

15、(elements) 也是很简单的 : 仅仅把他们的 IDs 放在 “reRender” 属性中就可以了 . 数据 Bean 当然了 , 为了运行这个程序我们还需要一个受管理的bean package demo; public class Bean private String text; public Bean() public String getText() return text; public void setText(String text) this.text = text; faces-config.xml 下一步 , 我们需要在 faces-config.xml 中注册上面的

16、 bean: bean 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 40 页 - - - - - - - - - demo.Bean request text 注意: 这里没有任何东西直接和Ajax4jsf 有关联 . Web.xml 最后, 不要忘了添加 jar 文件和更改 web.xml 文件: a4jEchoText javax.faces.STATE_SAVING_METHOD server Ajax4jsf Filter ajax4jsf org.ajax4

17、jsf.Filter ajax4jsf Faces Servlet REQUEST FORWARD INCLUDE com.sun.faces.config.ConfigureListener 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 40 页 - - - - - - - - - Faces Servlet javax.faces.webapp.FacesServlet 1 Faces Servlet *.jsf BASIC 就这样了 , 现在你的程序应该可以工作了

18、. 部署最终, 你可以在 Servlet容器中部署你的程序了 . 在你喜欢的容器中部署 , 然后在你的浏览器中输入 : http:/localhost:8080/a4jEchoText/echo.jsf Chapter 3.Ajax4jsf 框架中的基本概念Table of ContentsIntroductionArchitecture OverviewHow To.Send an AJAX RequestDecide What to SendDecide What to Change介绍名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - -

19、 - - 名师精心整理 - - - - - - - 第 8 页,共 40 页 - - - - - - - - - 该框架被实现为使用一个组件库来添加ajax 功能到你的页面中 , 而不要写 js 代码或者使用新的 Ajax 装饰器替换你已经做好的JSF组件. Ajax4jsf 具有页面范围 (page-wide) 的 Ajax 支持,而不是传统的组件范围 (component-wide) 的 ajax 支持. 这意味着你可以在页面中定义一个激活 Ajax 请求的事件 , 和当根据客户端事件触发Ajax 请求来改变服务器端数据后如何使用JSF组件树来同步显示JSF页面. (This means

20、you can define the event on the page that invokes an AJAX request and the areas of the page that should be synchronized with the JSF Component Tree after the AJAX request changes the data on the server according to the events fired on the client). 下面的图片展示了它是如何工作的: 名师资料总结 - - -精品资料欢迎下载 - - - - - - -

21、- - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 40 页 - - - - - - - - - Ajax4jsf 允许你定义 ( 意味着通过 JSF tags) 你希望通过 AJAX请求更新的 JSF页面的不同部分并且提供的一些发送AJAX请求到服务器端的选项 , 除了你的 JSF页面于常规的 JSF有点不同外, 没有其他的不同了 , 这是一个你不需要写JS代码和 XMLHttpRequest对象的天堂 . 结构概览下面的图片展示了Ajax4jsf 框架的一些重要的元素Ajax 过滤器 (Filter). 为了得到应用 Ajax4jsf 的好

22、处 你必须在在 web.xml 文件中注册一个 Ajax Filter.该过滤器有一些职责 . Ajax Filter 可以识别多种 ajax 请求种类 . 图片 3的序列图展示了在处理常规页面和AJAX请求页面的不同之处 . 在开始的情况下 , 所有的 JSF树将被编码 (encoded). 在第二种情况下依据AJAX 区域(region) (你可以通过使用 tag来定义 AJAX region )的大小 (size). 就如你看到的 , 第二种情况下过滤器将解析 AJAX响应的内容 , 在它被发送到客户端以前, 查看下面的图片来理解这两种方式: 名师资料总结 - - -精品资料欢迎下载 -

23、 - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 40 页 - - - - - - - - - 在这两种情况下 , 你的程序所需要的静态或者动态资源的信息将被注册到ResourseBuilder 类中. 当请求一个资源时 ( 图片 4),AJAX filter 检查资源缓存 (Resource Cache) 看看这个资源是否存在 , 如果存在该资源将被送到客户端. 否则过滤器将在 ResourceBuilder中搜索注册的资源. 如果该资源被注册了 ,AJAX filter将发送一个请求到 ResourceBuil

24、der来创建 create (deliver)该资源 . 下面的图片显示了请求资源的处理过程. 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 40 页 - - - - - - - - - Ajax 动作组件 (Action Components). 有 3 个 Ajax 动作组件 : AjaxCommandButton, AjaxCommandLink 和 AjaxSupport. 你可以使用他们从客户端发送AJAX请求. Ajax 容器 (Containers).

25、AjaxContainer 是一个接口 , 该接口描述了在 Ajax 请求中应该被解码(decoded) 的 JSF页面中的一个区域 .AjaxViewRoot 和 AjaxRegion 实现了该接口 . JavaScript引擎 (Engine). Ajax4jsf JavaScript 引擎 在客户端运行 . 它知道如何根据来自于 Ajax 响应的信息来更新你JSF页面上的不同的区域 . 程序开发者不需要直接使用这里的JavaScript代码. 它自动的下载到客户端 . 如何做 . 发送一个 AJAX 请求从 JSF页面发送 ajax 请求有不同的方法 . 你可以使用 , 或者 tags.

26、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 40 页 - - - - - - - - - 所有的这些标签隐藏了在创建一个XMHttpRequest 对象和发送 ajax 请求所需要的 JavaScript 活动. 并且, 他们允许你选择页面中那个JSF组件被重新渲染 (re-rendered) 来表现 Ajax 响应的结果 ( 你可以列出他们的 IDs 在“reRender” 属性中 ). 和 tags 用来在 “onclick ” JavaScript 事件中发

27、送 Ajax 请求. 在你选择 JS 事件(“onkeyup”, “onmouseover”, etc)时, tag 允许你在普通的 JSF组件中添加 Ajax 功能和发送 ajax 请求. 提供 Ajax 请求功能的大部分重要的属性如下: reRender 属性 - 就如我们前面提到过的 , 在一个 Ajax 响应到来时重新渲染(reRendered) 组件. RequestDelay 属性 用来调节请求的频率 . 因此每一个来自于键盘事件的请求将会延迟3 ms , 来减少请求的次数 . EventsQueue 储存下一个请求的队列的名字. 队列帮助阻止下一个请求知道当前的处理完 . Lim

28、itToList 用来控制更新的区域 . 设置为 true 将更新仅在 reRender list中的区域, 如果为 false, 将更新所有 Output Panels区域. ajaxSingle 如果设置为 false用来指定发送请求的区域 如果为 true 则发送整个区域 - only control caused event.(attributes specify regions to be sent with request if false it ll be full region in other case - only control caused event.) 决定发送什么

29、你可能描述了一个你决定发送到服务器的页面区域. 当你发送 ajax 请求的时候 , 通过这种方式你可以控制 JSF View 的那个部分在服务器端被解码(decoded). 描述你 JSF页面上的一个 Ajax 区域的最容易的方法是什么都不做. 这是因为在 和 tags 中的内容在默认值的情况下认为是ajax 区域. 通过使用 tag你可以在一个 JSF页面中定义多个 Ajax 区域 (they can even be nested). 如果你希望渲染 ajax 响应以外的区域 , 那么 renderRegionOnly 属性值应该设置为false.否则ajax 更新被限制在活动区域的元素中.

30、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 40 页 - - - - - - - - - 决定改变什么在大部分情况下都可以使用“reRender”中的 ids 来定义需要更新的“AJAX zones”. 但是如果你的页面包含 tag( 你希望在 ajax 响应中更新它的内容 ) 你不可以使用这种方式 . 我们在上面描述的 tag 的问题涉及到 JSF组件的 transientFlag值. 如果该标记的值为 true, 这个组件不能参与保存和恢复组件树(saving

31、 or restoring)的处理过程 . 为了提供一种解决这个问题的方法, Ajax4jsf 利用 tag定义了一个output panel . 如果你把 tag放在 output panel中, 那么在 AJAX 响应中 tag和其他 panel 中的 child tags中的内容可以被更新 . 有两种方法来控制它: 设置“ ajaxRendered ” 属性值为true. 设置动作组件的“reRender ” 属性值为output panel的 ID. Chapter 4. Ajax4JSF 组件库Table of Contentsa4j:ajaxListenera4j:regiona4

32、j:pagea4j:supporta4j:commandLinka4j:commandButtona4j:outputPanela4j:actionparama4j:statusa4j:loadBundlea4j:mediaOutputa4j:ajaxListener 和 ActionListener或者 ValueChangeListener的工作方式一样 , 只是仅用于 AJAX容器. 添加一个指定的类作为AjaxEvent 的监听器 . (sent in case of an AJAX request for this container). Table 4.1. a4j:ajaxLis

33、tener attributes名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 40 页 - - - - - - - - - type 注册到 AjaxListener 中类的完全限定的Java 类名 , 当来自于 Region 的 AJAX request 触发时 , 将调用 bean 的processAjax方法. a4j:region 该标签定义在 AJax 请求处理过程中被发送到服务器端解码的部分JSF组件树 . Table 4.2. a4j:region 的属

34、性selfRendered 如果为 true, 在调用应用程序 (InvokeApplication )阶段自渲染子树 ( 如果immediate 属性设置为 true 则是 Decode) renderRegionOnly 标记, 用来决定活动区域外的内容在Ajax 响应中是否渲染 . 如果为 true , 在 AJAX response 过程中活动区域外的组件都不渲染. 如果为false, 将渲染包含在响应中的所有组件树. 默认值为 true rendered 如果为 false, 该组件将不被重新渲染 . id 每个组件都应该有个唯一的id. 如果没有指定的话 , 将会自动产生 . im

35、mediate 如果该组件被 Ajax 请求激活的话 , 标记该组件应该立即 (在应用请求值阶段)被感兴趣的监听器和动作处理, 而不是等到调用应用程序阶段.( 译者注: 该标记和 JSF中的 immediate 标记所代表的意思差不多, 跳过验证阶段到呈现响应阶段 ) binding 组件绑定ajaxListener 方法绑定 , 当该组件被 ajax 请求激活时 , 将调用该监听器方法处理该事件.该方法必须为 public的并且接受一个 AjaxEvent 参数, 返回 void. 如果在该组件的区域中有一个Ajax 请求调用了 该区域将根据 Ajax 的设置被框架处理 . a4j:page

36、 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 40 页 - - - - - - - - - 该组件呈现一个完全的HTML 页面结构 . 它必须是 view root (JSP tag)的第一个 (并且是仅有的一个 )子组件 . 没有 Html 代码可以在该组件的外面. 它也支持在 Ajax 请求中处理子组件 , 就和一样. 对于一个普通的请求 , 它将把结果呈现为在客户端页面元素中的 元素. 如果该组件包含一个 head facet, 该 facet 的内容也呈现在

37、 中. 对于一个 Ajax 请求, 在整个结构中仅仅涉及到的组件被呈现. 下面是个在 JSP (jspx version) 中使用它的例子 : jsp:root xmlns:. . Table 4.3. a4j:page attributesselfRendered 如果为 true, 在调用应用程序 (InvokeApplication )阶段自渲染子树 ( 如果immediate 属性设置为 true 则是 Decode) lang 用来描述在产生该组件的markup时用到的语言 ( 产生该组件标记所使用的语言) title 该组件产生的 Markup的 title属性值renderReg

38、ionOnly renderRegionOnly onunload 在页面 unload 时执行的 JS代码rendered 如果是 false, 该组件不会被呈现 . contentType 设置响应的自定义的mime内容类型dir 文本方向id 每个组件都应该有个唯一的id. 如果没有指定的话 , 将会自动产生 . styleClass 和 HTML class 属性对应 . immediate 如果该组件被 Ajax 请求激活的话 , 标记该组件应该立即 (在应用请求值阶名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师

39、精心整理 - - - - - - - 第 16 页,共 40 页 - - - - - - - - - 段)被感兴趣的监听器和动作处理, 而不是等到调用应用程序阶段.( 译者注: 该标记和 JSF中的 immediate 标记所代表的意思差不多, 跳过验证阶段到呈现响应阶段 ) onload 在页面 load 时执行的 JS代码style 在该组件被呈现时应用的CSS style(s) pageTitle 作为页面 title的字符串binding 组件绑定 . ajaxListener 方法绑定 , 当该组件被 ajax 请求激活时 , 将调用该监听器方法处理该事件.该方法必须为 public

40、的并且接受一个 AjaxEvent 参数, 返回 void. , , 上面的示例结构将被呈现为: , , a4j:support 在 UIComponent-based 组件上添加 ajax 功能, 使他们有 JavaScript事件属性 . 在解码期间 :如果一个请求为 Ajax-performed, 从 ExternalContext 中的 requestParameterMap 属性中得到 Map,如果该 Map中clientId key对应的值非空 , 在组件上创建一个javax.faces.event.ActionEvent, 并且传递该事件到该组件的queueEvent() 中,

41、然后把他的reReander 区域中的组件 id 添加到 reReander 属性中 . 在编码过程中 . 不编码一个组件 . 相反的, 在父组件上添加一个与事件属性的值相同的值绑定(Instead, it adds ValueBinding for a property of the parent component with the name as a value of its event property).结果, 当呈现时 , 父组件创建一个在提交一个ajax 请求时用到的 JS代码. 如果该组件有子UIParameter 组件, 添加他的 name/value 作为附加的请求参数 .

42、 如果父组件是一个UIInput 的实例, 并且 ajaxType 属性是 input, 则也提交 input 域中的值 . 在这种情况下 , 你可以在名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 40 页 - - - - - - - - - UIForm外面提交一个单一的input 域. (As a result, when rendered, the parent component builds JavaScript code for submitting an

43、 AJAX request on this event. If the component has child UIParameter components, appends its name/value as additional request parameters. If a parent component is an instance of UIInput and the ajaxType property is input, submits the value of the input field, also. In this case, you can submit a sing

44、le input field outside of UIForm.) Table 4.4. a4j:support 属性actionListener 方法绑定 , 当该组件被 ajax 请求激活时 , 将调用该监听器方法处理该事件.该方法必须为 public的并且接受一个 AjaxEvent 参数, 返回 void. parentProperties parentProperties action 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活 , 根据 immediate 属性的值 , 方法在 请求处理生命周期中的Apply Request Values 或者

45、 Invoke Application 阶段 被调用 . oncomplete 在客户端请求完成时调用的js 代码rendered 如果为 false,该组件将不会被显示 . status Request status 组件的 id( 在 UIComopnent.findComponent()中使用 ) reRender 该组件调用 Ajax 请求后重新渲染的组件的ID( 在UIComopnent.findComponent() 中使用 ), 可以使一个 id, 也可以使逗号分开的很多 id, 或者是数据 or 集合的 EL表达式targetId reRender 的别名 : 该组件调用 Aj

46、ax 请求后重新渲染的组件的ID( 在UIComopnent.findComponent() 中使用 ), 可以使一个 id, 也可以使逗号分开的很多 id, 或者是数据 or 集合的 EL表达式id 每个组件都应该有个唯一的id. 如果没有指定的话 , 将会自动产生 . disableDefault 使目标事件的动作不可用 ( 在 javascript代码中添加 return false; ) requestDelay 在 JS事件上延迟 ( 单位 ms. ) 发送 Ajax 请求. 与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数eventsQueue 用来避免在同一个事件上的重复

47、请求的队列的名字. 可以用来减少周期事件(如: 按键, 鼠标移动 )请求的次数 . bypassUpdates 如果使 true, 在处理验证阶段后跳过更新模型值阶段到呈现阶段. 可以用来验证组件的输入值 . immediate 如果该组件被 Ajax 请求激活的话 , 标记该组件应该立即 (在应用请求值阶段)被感兴趣的监听器和动作处理, 而不是等到调用应用程序阶段.( 译者注: 该标记和 JSF中的 immediate 标记所代表的意思差不多, 跳过验证阶段到呈现响应阶段 ) limitToList 如果为 true, 仅仅更新 reRender属性中指定的组件 , 否则(默认值 ) 更新所

48、有 Ajax Region 中的组件ajaxSingle 如果为 true , 仅仅提交一个 field/link,而不是整个 form 中的内容 . 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 40 页 - - - - - - - - - event 父组件的 JS事件属性的名称 ( onclick , onchange, etc. ) , for which we will build AJAX submission code. binding 组件绑定 . 所

49、有你需要指定的东西 - 父组件用来触发 ajax 请求的 事件和被 reRender 的区域, 和处理事件的 Java bean 方法. , , 因此, 在上面的例子中 ,checkbox 状态的改变将提交当前的区域. show_hide动作将被调用 ,并且 list中的 id 所指定的组件将被更新 . a4j:commandLink 呈现一个 Html 元素, 当点击时的动作就象一个form 提交一样 . 在解码的过程中 : 从 ExternalContext的属性 requestParameterMap 中得到一个 Map,如果该 Map中包含clientId key的非空值 , 在组件上

50、创建一个 javax.faces.event.ActionEvent 事件, 并且传递该事件给组件的queueEvent() 方法. 如果该请求是 Ajax-performed,把 reRander 属性中的 IDs 值添加到嵌套的 AjaxContainer的 rendered areas list中 , 在解码的过程中也添加组件的参数 (PARAM_NAME 和 PARAM_VALUE 是任何嵌套的子 UIParameter 的 names 和values .) names 和 values必须是被 URLEncoded 处理过的 . 如果 styleClass属性被指定了 ,呈现它的值为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com