我已经看到有关如何在迁移到Primefaces 3.1时纠正组件更新代码的问题,以防止异常
在视图中找不到标识符为“....”的组件。
但是如何更新未被表单元素包围的组件?比如我需要使用远程命令更新以下ouputPanel: -
<p:outputPanel id='messageBox''> ... </p:outputPanel>
使用: Primefaces 3.1 with JSF 2.1.6
答案 0 :(得分:2)
只需通过其绝对客户端ID引用它。默认情况下,update
属性相对于当前UINamingContainer
组件(<h:form>
就是这样)。假设给定的<p:outputPanel>
本身不在任何其他UINamingContainer
组件内,那么只需使用update=":messageBox"
。
<p:commandButton ... update=":messageBox" />
如果您不确定,则需要在浏览器中打开该页面,执行查看源并在其中找到生成的<p:outputPanel id="messageBox">
HTML元素,取准确值其id
属性,然后使用默认命名容器分隔符:
作为前缀。
答案 1 :(得分:0)
为"<h:form>"
组件指定唯一ID,然后使用以下代码更新组件
udpate="@(#messageBox)"