转自:http://blog.itpub.net/7697443/viewspace-863915/
a4j:region a4j:page a4j:support a4j:commandLink a4j:commandButton a4j:outputPanel a4j:actionparam a4j:status a4j:loadBundle a4j:mediaOutputa4j:ajaxListener
和 ActionListener或者ValueChangeListener的工作方式一样, 只是仅用于AJAX容器. 添加一个指定的类作为AjaxEvent的监听器. (sent in case of an AJAX request for this container).
Table 4.1. a4j:ajaxListener attributes
type 注册到AjaxListener 中类的完全限定的Java类名
…
当来自于Region的AJAX request触发时,将调用bean的'processAjax'方法.
和 ActionListener或者ValueChangeListener的工作方式一样, 只是仅用于AJAX容器. 添加一个指定的类作为AjaxEvent的监听器. (sent in case of an AJAX request for this container).
Table 4.1. a4j:ajaxListener attributes
type | 注册到AjaxListener 中类的完全限定的Java类名 |
…
当来自于Region的AJAX request触发时,将调用bean的'processAjax'方法.
a4j:region
该标签定义在AJax请求处理过程中被发送到服务器端解码的部分JSF组件树.
Table 4.2. a4j:region 的属性
selfRendered 如果为true,在调用应用程序(InvokeApplication )阶段自渲染子树(如果immediate 属性设置为true则是 Decode) renderRegionOnly 标记,用来决定活动区域外的内容在Ajax响应中是否渲染.如果为"true" , 在AJAX response过程中活动区域外的组件都不渲染. 如果为"false", 将渲染包含在响应中的所有组件树.默认值为"true" rendered 如果为 false, 该组件将不被重新渲染. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. immediate 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) binding 组件绑定 ajaxListener 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void.
如果在该组件的区域中有一个Ajax请求调用了 – 该区域将根据Ajax的设置被框架处理.
该标签定义在AJax请求处理过程中被发送到服务器端解码的部分JSF组件树.
Table 4.2. a4j:region 的属性
selfRendered | 如果为true,在调用应用程序(InvokeApplication )阶段自渲染子树(如果immediate 属性设置为true则是 Decode) |
renderRegionOnly | 标记,用来决定活动区域外的内容在Ajax响应中是否渲染.如果为"true" , 在AJAX response过程中活动区域外的组件都不渲染. 如果为"false", 将渲染包含在响应中的所有组件树.默认值为"true" |
rendered | 如果为 false, 该组件将不被重新渲染. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
immediate | 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) |
binding | 组件绑定 |
ajaxListener | 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. |
如果在该组件的区域中有一个Ajax请求调用了 – 该区域将根据Ajax的设置被框架处理.
a4j:page
该组件呈现一个完全的HTML页面结构.它必须是view root (JSP tag)的第一个(并且是仅有的一个)子组件. 没有Html代码可以在该组件的外面. 它也支持在Ajax请求中处理子组件,就和一样.对于一个普通的请求,它将把结果呈现为在客户端页面元素中的
该组件呈现一个完全的HTML页面结构.它必须是view root (JSP tag)的第一个(并且是仅有的一个)子组件. 没有Html代码可以在该组件的外面. 它也支持在Ajax请求中处理子组件,就和一样.对于一个普通的请求,它将把结果呈现为在客户端页面元素中的
a4j:support
在 UIComponent-based组件上添加ajax功能,使他们有JavaScript事件属性. 在解码期间:如果一个请求为Ajax-performed, 从ExternalContext 中的requestParameterMap属性中得到Map,如果该Map中"clientId" key对应的值非空,在组件上创建一个 javax.faces.event.ActionEvent, 并且传递该事件到该组件的queueEvent()中,然后把他的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作为附加的请求参数.如果父组件是一个UIInput的实例,并且ajaxType属性是input, 则也提交input 域中的值. 在这种情况下,你可以在UIForm外面提交一个单一的input域. (As a result, when rendered, the parent component builds JavaScript code for submitting an AJAX request on this event. If the component has child UIParameter components, appends it's 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 single input field outside of UIForm.)
Table 4.4. a4j:support 属性
actionListener 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. parentProperties parentProperties action 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. oncomplete 在客户端请求完成时调用的js代码 rendered 如果为false,该组件将不会被显示. status Request status 组件的id(在 UIComopnent.findComponent()中使用) reRender 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 targetId reRender的别名 : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. disableDefault 使目标事件的动作不可用 ( 在javascript代码中添加 "return false;" ) requestDelay 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 eventsQueue 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. bypassUpdates 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. immediate 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) limitToList 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 ajaxSingle 如果为 true , 仅仅提交一个field/link,而不是整个form中的内容. event 父组件的JS事件属性的名称 ( onclick , onchange, etc. ) , for which we will build AJAX submission code. binding 组件绑定.
所有你需要指定的东西 - 父组件用来触发ajax请求的事件和被reRender的区域, 和处理事件的Java bean方法.
…
<a4j:support event="change" reRender="#{partsId.list}"
action="#{Some.show_hide}"/>
…
因此,在上面的例子中,checkbox状态的改变将提交当前的区域. 'show_hide'动作将被调用,并且 'list'中的id所指定的组件将被更新.
在 UIComponent-based组件上添加ajax功能,使他们有JavaScript事件属性. 在解码期间:如果一个请求为Ajax-performed, 从ExternalContext 中的requestParameterMap属性中得到Map,如果该Map中"clientId" key对应的值非空,在组件上创建一个 javax.faces.event.ActionEvent, 并且传递该事件到该组件的queueEvent()中,然后把他的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作为附加的请求参数.如果父组件是一个UIInput的实例,并且ajaxType属性是input, 则也提交input 域中的值. 在这种情况下,你可以在UIForm外面提交一个单一的input域. (As a result, when rendered, the parent component builds JavaScript code for submitting an AJAX request on this event. If the component has child UIParameter components, appends it's 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 single input field outside of UIForm.)
Table 4.4. a4j:support 属性
actionListener | 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. |
parentProperties | parentProperties |
action | 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. |
oncomplete | 在客户端请求完成时调用的js代码 |
rendered | 如果为false,该组件将不会被显示. |
status | Request status 组件的id(在 UIComopnent.findComponent()中使用) |
reRender | 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
targetId | reRender的别名 : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
disableDefault | 使目标事件的动作不可用 ( 在javascript代码中添加 "return false;" ) |
requestDelay | 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 |
eventsQueue | 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. |
bypassUpdates | 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. |
immediate | 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) |
limitToList | 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 |
ajaxSingle | 如果为 true , 仅仅提交一个field/link,而不是整个form中的内容. |
event | 父组件的JS事件属性的名称 ( onclick , onchange, etc. ) , for which we will build AJAX submission code. |
binding | 组件绑定. |
所有你需要指定的东西 - 父组件用来触发ajax请求的事件和被reRender的区域, 和处理事件的Java bean方法.
…
<a4j:support event="change" reRender="#{partsId.list}"
action="#{Some.show_hide}"/>
…
因此,在上面的例子中,checkbox状态的改变将提交当前的区域. 'show_hide'动作将被调用,并且 'list'中的id所指定的组件将被更新.
a4j:commandLink
呈现一个Html 元素,当点击时的动作就象一个form提交一样.
从ExternalContext的属性requestParameterMap中得到一个Map,如果该Map中包含"clientId" key的非空值, 在组件上创建一个 javax.faces.event.ActionEvent 事件,并且传递该事件给组件的queueEvent() 方法.如果该请求是Ajax-performed,把reRander属性中的IDs值添加到嵌套的AjaxContainer的 rendered areas list中 ,在解码的过程中也添加组件的参数(PARAM_NAME 和 PARAM_VALUE 是任何嵌套的子UIParameter的names 和 values .) names 和 values必须是被URLEncoded处理过的.如果styleClass属性被指定了,呈现它的值为html中的class属性的值. 呈现任何non-UIParameter子组件为的相应的子组件. 这些看起来就像一个Link文本.
Table 4.5. a4j:commandLink attributes
actionListener 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. title 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) oncomplete 在客户端请求完成时调用的js代码 shape default|rect|circle|poly [CI] 该属性指定一个区域的形状.可能的取值: * default: 指定整个区域. * rect:指定一个矩形区域. * circle: 定义一个圆形区域. * poly: 定义一个多边形区域. target rendered 如果为false,该组件将不会被显示. charset 该属性指定了通过链接指派的资源的字符编码. reRender 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 targetId Alias for reRender : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. dir 文本方向. rev 该属性用来描述从通过 href 属性指定的锚点到当前文档的反向链接。该属性值是通过空格分隔的 link 类型(值)的列表。
bypassUpdates 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. styleClass 和HTML的class属性一样. accesskey 触发该组件的快捷键 limitToList 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 onkeypress 键盘事件,键被按下和松开 ajaxSingle 如果使true,仅仅提交一个field/link,而不是所有被控制的 ondblclick HTML: 双击事件 style HTML: 应用在该组件上的CSS. onblur 当元素失去焦点时发生的事件 onmouseover 当滑鼠移动到组件上方时
onkeyup 当使用者按下并放开按键 value 该组件的当前值 action 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. tabindex 设置不同元素之间获得焦点的顺序 hreflang 该属性指定了通过 href 指派的资源的基本语言,并且仅在 href 被指定的情况下使用(也就是说如果 A 中没有指定 href 属性,就不应该出现 hreflang 属性)。 type 该属性指定链接资源所采用的内容类型。(译者注:例如网页通常为 text/html) lang 产生该组件标记所使用的语言 onclick 当鼠标点击时发生的事件
status 请求状态组件的ID(在UIComopnent.findComponent()中使用) onmouseout 鼠标光标移开元素时发生的事件 onkeydown 键按下时发生的事件 onmousedown 按下鼠标按键时发生的事件 requestDelay 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 eventsQueue 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. rel 该属性描述了从当前文档到通过 href 属性定义的锚点之间的关系。该属性值是通过空格分隔的 link 类型(值)的列表(译者注:在 Web 标准开发中,这个通常用来代替 target 属性,配合脚本,用来表示目的窗口)。 immediate 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) onfocus 使用在表单元素中,当元素获得焦点时发生的事件 onmouseup 当释放鼠标按键时发生的事件 binding 组件绑定. onmousemove 鼠标光标在元素上移动时发生的事件 coords 定义区域 -- coords
a.矩形:必须使用四个数字,前两个数字为左上角座标,后两个数字为右下角座标
例:<area shape=rect coords=100,50,200,75 href="URL">
b.圆形:必须使用三个数字,前两个数字为圆心的座标,最后一个数字为半径长度
例:<area shape=circle coords=85,155,30 href="URL">
c.任意图形(多边形):将图形之每一转折点座标依序填入
例:<area shape=poly coords=232,70,285,70,300,90,250,90,200,78 href="URL">
通常a4j:commandLink 是一个 具有AJAX 支持的HTML 元素. 包含所有的a4j:support的主要功能, 还有它自己的onclick事件的Ajax请求和所有与a4j:Support组合的CommandLink特性.
呈现一个Html 元素,当点击时的动作就象一个form提交一样.
从ExternalContext的属性requestParameterMap中得到一个Map,如果该Map中包含"clientId" key的非空值, 在组件上创建一个 javax.faces.event.ActionEvent 事件,并且传递该事件给组件的queueEvent() 方法.如果该请求是Ajax-performed,把reRander属性中的IDs值添加到嵌套的AjaxContainer的 rendered areas list中 ,在解码的过程中也添加组件的参数(PARAM_NAME 和 PARAM_VALUE 是任何嵌套的子UIParameter的names 和 values .) names 和 values必须是被URLEncoded处理过的.如果styleClass属性被指定了,呈现它的值为html中的class属性的值. 呈现任何non-UIParameter子组件为的相应的子组件. 这些看起来就像一个Link文本.
Table 4.5. a4j:commandLink attributes
actionListener | 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. |
title | 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) |
oncomplete | 在客户端请求完成时调用的js代码 |
shape | default|rect|circle|poly [CI] 该属性指定一个区域的形状.可能的取值: * default: 指定整个区域. * rect:指定一个矩形区域. * circle: 定义一个圆形区域. * poly: 定义一个多边形区域. |
target | |
rendered | 如果为false,该组件将不会被显示. |
charset | 该属性指定了通过链接指派的资源的字符编码. |
reRender | 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
targetId | Alias for reRender : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
dir | 文本方向. |
rev | 该属性用来描述从通过 href 属性指定的锚点到当前文档的反向链接。该属性值是通过空格分隔的 link 类型(值)的列表。 |
bypassUpdates | 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. |
styleClass | 和HTML的class属性一样. |
accesskey | 触发该组件的快捷键 |
limitToList | 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 |
onkeypress | 键盘事件,键被按下和松开 |
ajaxSingle | 如果使true,仅仅提交一个field/link,而不是所有被控制的 |
ondblclick | HTML: 双击事件 |
style | HTML: 应用在该组件上的CSS. |
onblur | 当元素失去焦点时发生的事件 |
onmouseover | 当滑鼠移动到组件上方时 |
onkeyup | 当使用者按下并放开按键 |
value | 该组件的当前值 |
action | 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. |
tabindex | 设置不同元素之间获得焦点的顺序 |
hreflang | 该属性指定了通过 href 指派的资源的基本语言,并且仅在 href 被指定的情况下使用(也就是说如果 A 中没有指定 href 属性,就不应该出现 hreflang 属性)。 |
type | 该属性指定链接资源所采用的内容类型。(译者注:例如网页通常为 text/html) |
lang | 产生该组件标记所使用的语言 |
onclick | 当鼠标点击时发生的事件 |
status | 请求状态组件的ID(在UIComopnent.findComponent()中使用) |
onmouseout | 鼠标光标移开元素时发生的事件 |
onkeydown | 键按下时发生的事件 |
onmousedown | 按下鼠标按键时发生的事件 |
requestDelay | 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 |
eventsQueue | 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. |
rel | 该属性描述了从当前文档到通过 href 属性定义的锚点之间的关系。该属性值是通过空格分隔的 link 类型(值)的列表(译者注:在 Web 标准开发中,这个通常用来代替 target 属性,配合脚本,用来表示目的窗口)。 |
immediate | 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) |
onfocus | 使用在表单元素中,当元素获得焦点时发生的事件 |
onmouseup | 当释放鼠标按键时发生的事件 |
binding | 组件绑定. |
onmousemove | 鼠标光标在元素上移动时发生的事件 |
coords | 定义区域 -- coords a.矩形:必须使用四个数字,前两个数字为左上角座标,后两个数字为右下角座标 例:<area shape=rect coords=100,50,200,75 href="URL"> b.圆形:必须使用三个数字,前两个数字为圆心的座标,最后一个数字为半径长度 例:<area shape=circle coords=85,155,30 href="URL"> c.任意图形(多边形):将图形之每一转折点座标依序填入 例:<area shape=poly coords=232,70,285,70,300,90,250,90,200,78 href="URL"> |
通常a4j:commandLink 是一个 具有AJAX 支持的HTML 元素. 包含所有的a4j:support的主要功能, 还有它自己的onclick事件的Ajax请求和所有与a4j:Support组合的CommandLink特性.
a4j:commandButton
为onclick事件创建一个AJAX.Submit JavaScript调用.呈现组件的clientId 为name属性的值.呈现组件的当前值为value属性的值.
如果styleClass属性被指定了,呈现它的值为class属性的值. 呈现 HTML "input"元素的子元素.
Table 4.6. a4j:commandButton attributes
actionListener 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. title 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) oncomplete 在客户端请求完成时调用的js代码 rendered 如果为false,该组件将不会被显示. reRender 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 targetId Alias for reRender : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 onchange 使用在表单元素中,当某些东西改变时发生的事件 dir 文本方向. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. bypassUpdates 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. styleClass 和HTML的class属性一样. accesskey 触发该组件的快捷键 limitToList 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 onkeypress 键盘事件,键被按下和松开 ajaxSingle 如果使true,仅仅提交一个field/link,而不是所有被控制的 ondblclick HTML: 双击事件 image 在这个button中要显示的图片的绝对或者相对URL 如果指定了该 "input" 元素将为"image"类型. 否则, it will be of the type specified by the "type" property with a label specified by the "value" property. style HTML: 应用在该组件上的CSS. size 定义组件显示的尺度 onblur 当失去焦点时发生的事件 onmouseover 当滑鼠移动到组件上方时
value 该组件的当前值 action 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. onkeyup 当使用者按下并放开按键 tabindex 设置不同元素之间获得焦点的顺序 lang 产生该组件标记所使用的语言 type submit|reset|image|button 指定创建组件的类型,默认值为Submit. disabled 把控件的状态设置为不能使用 onclick 当鼠标点击时发生的事件
status 请求状态组件的ID(在UIComopnent.findComponent()中使用) onmouseout 鼠标光标移开元素时发生的事件 alt 文本方向. onkeydown 键按下时发生的事件 onmousedown 按下鼠标按键时发生的事件 requestDelay 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 eventsQueue 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. immediate 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) onfocus 当组件获得焦点时发生的事件 onmouseup 当释放鼠标按键时发生的事件 binding 组件绑定. onmousemove 鼠标光标在元素上移动时发生的事件
简单来说a4j:CommandButton 是一个带有AJAX Support的 HTML 元素 . 包含所有的a4j:support的主要功能, 还有它自己的onclick事件的Ajax请求和所有与a4j:Support组合的CommandButton特性.
为onclick事件创建一个AJAX.Submit JavaScript调用.呈现组件的clientId 为name属性的值.呈现组件的当前值为value属性的值.
如果styleClass属性被指定了,呈现它的值为class属性的值. 呈现 HTML "input"元素的子元素.
Table 4.6. a4j:commandButton attributes
actionListener | 方法绑定,当该组件被ajax请求激活时,将调用该监听器方法处理该事件.该方法必须为public的并且接受一个 AjaxEvent 参数,返回void. |
title | 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) |
oncomplete | 在客户端请求完成时调用的js代码 |
rendered | 如果为false,该组件将不会被显示. |
reRender | 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
targetId | Alias for reRender : 该组件调用Ajax请求后重新渲染的组件的ID(在 UIComopnent.findComponent()中使用),可以使一个id,也可以使逗号分开的很多id,或者是数据or集合的EL表达式 |
onchange | 使用在表单元素中,当某些东西改变时发生的事件 |
dir | 文本方向. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
bypassUpdates | 如果使true,在处理验证阶段后跳过更新模型值阶段到呈现阶段.可以用来验证组件的输入值. |
styleClass | 和HTML的class属性一样. |
accesskey | 触发该组件的快捷键 |
limitToList | 如果为true,仅仅更新'reRender'属性中指定的组件,否则(默认值)更新所有Ajax Region中的组件 |
onkeypress | 键盘事件,键被按下和松开 |
ajaxSingle | 如果使true,仅仅提交一个field/link,而不是所有被控制的 |
ondblclick | HTML: 双击事件 |
image | 在这个button中要显示的图片的绝对或者相对URL 如果指定了该 "input" 元素将为"image"类型. 否则, it will be of the type specified by the "type" property with a label specified by the "value" property. |
style | HTML: 应用在该组件上的CSS. |
size | 定义组件显示的尺度 |
onblur | 当失去焦点时发生的事件 |
onmouseover | 当滑鼠移动到组件上方时 |
value | 该组件的当前值 |
action | 方法绑定到要被激活的程序动作方法, 如果该 UIComponent 被用户激活, 根据immediate属性的值,方法在 请求处理生命周期中的Apply Request Values 或者 Invoke Application 阶段 被调用. |
onkeyup | 当使用者按下并放开按键 |
tabindex | 设置不同元素之间获得焦点的顺序 |
lang | 产生该组件标记所使用的语言 |
type | submit|reset|image|button 指定创建组件的类型,默认值为Submit. |
disabled | 把控件的状态设置为不能使用 |
onclick | 当鼠标点击时发生的事件 |
status | 请求状态组件的ID(在UIComopnent.findComponent()中使用) |
onmouseout | 鼠标光标移开元素时发生的事件 |
alt | 文本方向. |
onkeydown | 键按下时发生的事件 |
onmousedown | 按下鼠标按键时发生的事件 |
requestDelay | 在JS事件上延迟 ( 单位 ms. )发送Ajax请求.与事件队列公共工作可以减少键盘或者鼠标移动触发请求的次数 |
eventsQueue | 用来避免在同一个事件上的重复请求的队列的名字.可以用来减少周期事件(如:按键,鼠标移动)请求的次数. |
immediate | 如果该组件被Ajax请求激活的话,标记该组件应该立即(在应用请求值阶段)被感兴趣的监听器和动作处理,而不是等到调用应用程序阶段.(译者注:该标记和JSF中的immediate标记所代表的意思差不多,跳过验证阶段到呈现响应阶段) |
onfocus | 当组件获得焦点时发生的事件 |
onmouseup | 当释放鼠标按键时发生的事件 |
binding | 组件绑定. |
onmousemove | 鼠标光标在元素上移动时发生的事件 |
简单来说a4j:CommandButton 是一个带有AJAX Support的 HTML 元素 . 包含所有的a4j:support的主要功能, 还有它自己的onclick事件的Ajax请求和所有与a4j:Support组合的CommandButton特性.
a4j:outputPanel
创建页面中具有 AJAX-enabled的一个区域. 作为普通的请求,根据layout的属性值("inline" or "block")呈现为 或者
HTML 元素. ( "id"属性将是clientId 属性的值.) 对于一个AJAX请求,如果ajaxRendered被设置为true,该元素的内容被包含在ajax响应中.
Table 4.7. a4j:outputPanel attributes
styleClass 和HTML的class属性一样. title 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) lang 产生该组件标记所使用的语言 layout HTML layout用于产生 markup. 可能的取值是: "block" 产生一个 HTML
元素, "inline" 产生一个 HTML
元素, 和 "none"不产生 HTML 元素. 对于none 当子元素的rendered属性被设置为false时 这里有个小例外 ,这是创建一个具有相同id的空 元素 作为子元素,用来当作一个用于后序处理的占位符
keepTransient 指定所有子组件为non-transient的标记.如果为true,所有的子组件将被设置为non-transient,并且在以保存的组件树中(keep in saved components tree). For output in self-renderer region all content ( By default, all content in tags and non-jsf elements in facelets, marked as transient - since, self-rendered ajax regions don't plain output for ajax processing ). ajaxRendered Defines, whether the content of this component must be (or not) included in AJAX response created by parent AJAX Container, even if it is not forced by reRender list of ajax action. Ignored if component marked to output by Ajax action. default false style HTML: 应用在该组件上的CSS. rendered 如果为false,该组件将不会被显示. binding 组件绑定. dir 文本方向. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生.
在上面的例子中,在每个a4j:commandButton请求时 OutputPanels 中的 outputText 将被 reRendered. 当验证错误时,消息将出现;或者,text将重复出现.
创建页面中具有 AJAX-enabled的一个区域. 作为普通的请求,根据layout的属性值("inline" or "block")呈现为 或者
Table 4.7. a4j:outputPanel attributes
styleClass | 和HTML的class属性一样. |
title | 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) |
lang | 产生该组件标记所使用的语言 |
layout | HTML layout用于产生 markup. 可能的取值是: "block" 产生一个 HTML
元素, "inline" 产生一个 HTML
元素, 和 "none"不产生 HTML 元素. 对于none 当子元素的rendered属性被设置为false时 这里有个小例外 ,这是创建一个具有相同id的空 元素 作为子元素,用来当作一个用于后序处理的占位符
|
keepTransient | 指定所有子组件为non-transient的标记.如果为true,所有的子组件将被设置为non-transient,并且在以保存的组件树中(keep in saved components tree). For output in self-renderer region all content ( By default, all content in tags and non-jsf elements in facelets, marked as transient - since, self-rendered ajax regions don't plain output for ajax processing ). |
ajaxRendered | Defines, whether the content of this component must be (or not) included in AJAX response created by parent AJAX Container, even if it is not forced by reRender list of ajax action. Ignored if component marked to output by Ajax action. default false |
style | HTML: 应用在该组件上的CSS. |
rendered | 如果为false,该组件将不会被显示. |
binding | 组件绑定. |
dir | 文本方向. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
在上面的例子中,在每个a4j:commandButton请求时 OutputPanels 中的 outputText 将被 reRendered. 当验证错误时,消息将出现;或者,text将重复出现.
a4j:actionparam
Table 4.8. a4j:actionparam attributes
noEscape 如果设置为true,该值将不会被附上但引号 并且每一转义字符. This allows the use of the value as JavaScript code for calculating value on the client-side. This doesn't work with non-AJAX components. value 初始化的值或者值绑定 converter 使用一个转换(converter )的id 或者引用一个converter. assignTo EL表达式用来更新bean的属性. 如果父组件执行一个 actionEvent,该值将被更新. binding 组件绑定. name 该参数的名字 id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生.
Table 4.8. a4j:actionparam attributes
noEscape | 如果设置为true,该值将不会被附上但引号 并且每一转义字符. This allows the use of the value as JavaScript code for calculating value on the client-side. This doesn't work with non-AJAX components. |
value | 初始化的值或者值绑定 |
converter | 使用一个转换(converter )的id 或者引用一个converter. |
assignTo | EL表达式用来更新bean的属性. 如果父组件执行一个 actionEvent,该值将被更新. |
binding | 组件绑定. |
name | 该参数的名字 |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
a4j:status
Table 4.9. a4j:status attributes
startStyleClass 在开始一个请求时应用到组件上的CSS类 stopStyle 在 一个请求响应完成时应用到组件上的CSS stopStyleClass 在 一个请求响应完成时应用到组件上的CSS类 layout 定义面板的布局,可以为block或者inline title 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) rendered 如果为false,该组件将不会被显示. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. dir 文本方向. styleClass 和HTML的class属性一样. startStyle 在开始一个请求时应用到组件上的CSS类 onkeypress 键盘事件,键被按下和松开 ondblclick HTML: 双击事件 style HTML: 应用在该组件上的CSS. onmouseover 当滑鼠移动到组件上方时
for 指定应用于 AjaxContainer组件的ID ( 在javax.faces.UIComopnent.findComponent() 中使用). onkeyup 当使用者按下并放开按键 lang 产生该组件标记所使用的语言 onclick 当鼠标点击时发生的事件
onmouseout 鼠标光标移开元素时发生的事件 startText 在请求开始时显示的文本 onkeydown 键按下时发生的事件 onmousedown 按下鼠标按键时发生的事件 forceId 如果为true,呈现组件id为HTML代码而不是JSF产生的代码.(译者注:参考Myfaces中的ForceId.) stopText 当请求完成时显示的文本 onmouseup 当释放鼠标按键时发生的事件 binding 组件绑定. onmousemove 鼠标光标在元素上移动时发生的事件
指示请求状态的两种表示方式:
-
定义 "startText" 和 "stopText" 属性
-
定义 "start" 和 "stop" facets
在任何一种状态下,当请求开始时 - ":status.start" span 将被呈现 并且在请求结束后":status.stop" span 将出现.
将状态应用到组件上也有两种方法:
-
指定目标 AJAX Containers 的id为“for” 属性的值
-
在组件上定义 “status” 属性 指定到状态.
如果for省略了 - 状态组件将指向它所在的区域(status component will be pointed to region where it's placed )
Table 4.9. a4j:status attributes
startStyleClass | 在开始一个请求时应用到组件上的CSS类 |
stopStyle | 在 一个请求响应完成时应用到组件上的CSS |
stopStyleClass | 在 一个请求响应完成时应用到组件上的CSS类 |
layout | 定义面板的布局,可以为block或者inline |
title | 该组件产生的标记元素的提示文字(当鼠标移动到该组件上面出现的提示文字) |
rendered | 如果为false,该组件将不会被显示. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
dir | 文本方向. |
styleClass | 和HTML的class属性一样. |
startStyle | 在开始一个请求时应用到组件上的CSS类 |
onkeypress | 键盘事件,键被按下和松开 |
ondblclick | HTML: 双击事件 |
style | HTML: 应用在该组件上的CSS. |
onmouseover | 当滑鼠移动到组件上方时 |
for | 指定应用于 AjaxContainer组件的ID ( 在javax.faces.UIComopnent.findComponent() 中使用). |
onkeyup | 当使用者按下并放开按键 |
lang | 产生该组件标记所使用的语言 |
onclick | 当鼠标点击时发生的事件 |
onmouseout | 鼠标光标移开元素时发生的事件 |
startText | 在请求开始时显示的文本 |
onkeydown | 键按下时发生的事件 |
onmousedown | 按下鼠标按键时发生的事件 |
forceId | 如果为true,呈现组件id为HTML代码而不是JSF产生的代码.(译者注:参考Myfaces中的ForceId.) |
stopText | 当请求完成时显示的文本 |
onmouseup | 当释放鼠标按键时发生的事件 |
binding | 组件绑定. |
onmousemove | 鼠标光标在元素上移动时发生的事件 |
指示请求状态的两种表示方式:
-
定义 "startText" 和 "stopText" 属性
-
定义 "start" 和 "stop" facets
在任何一种状态下,当请求开始时 - ":status.start" span 将被呈现 并且在请求结束后":status.stop" span 将出现.
将状态应用到组件上也有两种方法:
-
指定目标 AJAX Containers 的id为“for” 属性的值
-
在组件上定义 “status” 属性 指定到状态.
如果for省略了 - 状态组件将指向它所在的区域(status component will be pointed to region where it's placed )
a4j:loadBundle
Table 4.10. a4j:loadBundle attributes
var 在请求范围中使用的变量 basename 资源文件的basename rendered 如果为false,该组件将不会被显示. binding 组件绑定. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生.
Table 4.10. a4j:loadBundle attributes
var | 在请求范围中使用的变量 |
basename | 资源文件的basename |
rendered | 如果为false,该组件将不会被显示. |
binding | 组件绑定. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
a4j:mediaOutput
Table 4.11. a4j:mediaOutput attributes
declare declare but don't instantiate flag dir 文本方向. id 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. rev 该属性用来描述从通过 href 属性指定的锚点到当前文档的反向链接。该属性值是通过空格分隔的 link 类型(值)的列表。
mimeType 应用于响应头的mime类型( 'image/jpeg' etc ) style HTML: 应用在该组件上的CSS. onmouseover 当滑鼠移动到组件上方时
onkeyup 当使用者按下并放开按键 tabindex 设置不同元素之间获得焦点的顺序 archive 空格分开的URIs converter converter lang 产生该组件标记所使用的语言 createContent 方法调用表达式用来传递资源到 OutputStream. 必须有两个参数 java.io.OutputStream 和 java.lang.Object ( deserialized value of data attribute ) onmouseout 鼠标光标移开元素时发生的事件
Table 4.11. a4j:mediaOutput attributes
declare | declare but don't instantiate flag |
dir | 文本方向. |
id | 每个组件都应该有个唯一的id. 如果没有指定的话,将会自动产生. |
rev | 该属性用来描述从通过 href 属性指定的锚点到当前文档的反向链接。该属性值是通过空格分隔的 link 类型(值)的列表。 |
mimeType | 应用于响应头的mime类型( 'image/jpeg' etc ) |
style | HTML: 应用在该组件上的CSS. |
onmouseover | 当滑鼠移动到组件上方时 |
onkeyup | 当使用者按下并放开按键 |
tabindex | 设置不同元素之间获得焦点的顺序 |
archive | 空格分开的URIs |
converter | converter |
lang | 产生该组件标记所使用的语言 |
createContent | 方法调用表达式用来传递资源到 OutputStream. 必须有两个参数 java.io.OutputStream 和 java.lang.Object ( deserialized value of data attribute ) |
onmouseout | 鼠标光标移开元素时发生的事件 |