在3.1 *中更新Primefaces组件而不包含在h:form *中

时间:2012-03-12 12:29:19

标签: jsf jsf-2 primefaces

我已经看到有关如何在迁移到Primefaces 3.1时纠正组件更新代码的问题,以防止异常

  

在视图中找不到标识符为“....”的组件。

但是如何更新未被表单元素包围的组件?比如我需要使用远程命令更新以下ouputPanel: -

<p:outputPanel id='messageBox''>
     ...
</p:outputPanel>

使用: Primefaces 3.1 with JSF 2.1.6

2 个答案:

答案 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)"
相关问题