32.6. <ajax:linkedUpdate>

使用<ajax:linkedUpdate>构件可以在页面中的提交组件上指定本次提交应连带刷新的区域。OperaMasks 3.0开始加入局部刷新功能,默认一次Ajax请求只更新与事件源属于同一w:form内部的组件的属性,如果要想同时更新事件源所在的w:form之外的区域的话,可以使用这个构件来标注要同时更新的区域。

32.6.1. 构件信息

表 32.10. 构件信息

Component Typeorg.operamasks.faces.component.ajax.AjaxLinkedUpdate
Component Familyorg.operamasks.faces.ajax.AjaxLinkedUpdate
Component Classorg.operamasks.faces.component.ajax.AjaxLinkedUpdate
Tag Classorg.operamasks.faces.webapp.ajax.AjaxLinkedUpdateTag
Renderer Typeorg.operamasks.faces.component.ajax.AjaxLinkedUpdate
Renderer Class(AJAX) 

继承体系

+java.lang.Object

++javax.faces.component.UIComponent

+++javax.faces.component.UIComponentBase

++++org.operamasks.faces.component.ajax.base.AjaxLinkedUpdateBase

+++++org.operamasks.faces.component.ajax.AjaxLinkedUpdate

32.6.2. 属性

表 32.11. 属性

binding 定义类 javax.faces.component.UIComponentBase
类型 javax.el.ValueExpression(javax.faces.component.UIComponent)
是否必须 延时求值
一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。
exclude 定义类 org.operamasks.faces.component.ajax.AjaxLinkedUpdate
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
跳过的组件id, 多个组件以逗号(,)分隔
id 定义类 javax.faces.component.UIComponentBase
类型 java.lang.String
是否必须 延时求值
这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。
includeChildren 定义类 org.operamasks.faces.component.ajax.AjaxLinkedUpdate
类型 javax.el.ValueExpression(java.lang.Boolean)
是否必须 延时求值
是否包括子组件, 默认值为false
level 定义类 org.operamasks.faces.component.ajax.AjaxLinkedUpdate
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
更新等级,详情见org.operamasks.faces.user.ajax.UpdateLevel
rendered 定义类 javax.faces.component.UIComponentBase
类型 boolean(boolean)
是否必须 延时求值
一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。
target 定义类 org.operamasks.faces.component.ajax.AjaxLinkedUpdate
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
关联更新的组件id, 多个组件以逗号(,)分隔

32.6.3. 构件API

32.6.4. 例子

下面的例子介绍了<ajax:linkedUpdate>构件的使用: 在点击id为action的按钮后连带刷新westPanel中的子构件的值,除了id为txt1与txt2的构件

<w:button id="action"> 
    <ajax:linkedUpdate期target="westPanel" level="valueOnly" includeChildren="true"/>
    <ajax:linkedUpdate target="txt1,txt2" level="skip"/>
</w:button>