Jsf 使用RichFaces的绝对重新排序
我的问题是RichFacesJsf 使用RichFaces的绝对重新排序,jsf,richfaces,rerender,Jsf,Richfaces,Rerender,我的问题是RichFacesreRender在元素树中的当前元素下不起作用;只有上面的元素才能重新招标 有没有办法使用AJAX访问较低级别的元素 任何帮助都将不胜感激! 丹尼尔 编辑我把这个问题编辑成一个更一般的问题。如果对原始问题感兴趣,请参阅修订。 重新渲染器用于提供要重新渲染的目标对象的id(在同一命名容器中-表单最常见) 根据html规范,id应该是唯一的字符串 reRender允许动态值-即reRender=“#{myBean.currentItemsToRerender} 基于此,
reRender
在元素树中的当前元素下不起作用;只有上面的元素才能重新招标
有没有办法使用AJAX访问较低级别的元素
任何帮助都将不胜感激!
丹尼尔
编辑我把这个问题编辑成一个更一般的问题。如果对原始问题感兴趣,请参阅修订。
用于提供要重新渲染的目标对象的重新渲染器
(在同一命名容器中-id
最常见)表单
- 根据html规范,
应该是唯一的字符串id
允许动态值-即reRender
reRender=“#{myBean.currentItemsToRerender}
有一个定义良好的解析id的算法。因此,对于绝对引用,您重新命名的id应该从
:
开始,然后继续遍历命名容器的层次结构。重新命名器也可以指向表单外的任何组件。例如,此操作:
<h:form>
<a4j:commandButton reRender="panel"/>
</h:form>
<h:panelGrid id="panel">
...
</h:panelGrid>
...
下面是一个示例,changePanel111()
更改较低元素的内容:
<h:form id="form" prependId="true">
<rich:panel id="PANEL1">
<h:outputText id="PANEL1TEXT" value="#{ajaxTestBean.panel1}"/>
<rich:panel id="PANEL11">
<h:outputText id="PANEL11TEXT" value="#{ajaxTestBean.panel11}"/>
<rich:panel id="PANEL111">
<h:outputText id="PANEL111TEXT" value="#{ajaxTestBean.panel111}"/>
</rich:panel>
</rich:panel>
<rich:panel id="PANEL12">
<h:outputText id="PANEL12TEXT" value="#{ajaxTestBean.panel12}"/>
<br/>
<a4j:commandLink value="CHANGE PANEL12" action="#{ajaxTestBean.changePanel12}">
<a4j:support reRender="PANEL12" event="onclick"/>
</a4j:commandLink>
<br/>
<a4j:commandLink value="CHANGE PANEL111" action="#{ajaxTestBean.changePanel111}">
<a4j:support reRender="form:PANEL111" event="onclick"/>
</a4j:commandLink>
</rich:panel>
</rich:panel>
</h:form>
注意下面的元素需要如何标识为表单:PANEL111
希望这有帮助!对于我的MyFaces+Richfaces应用程序,
标记没有按照所选答案中的描述工作。当我将其更改为时。“
配置:MyFaces 2.1.10(用于模板化的Facelets)和Richfaces 4.2.3
希望这会有所帮助