【问题标题】:Primefaces' update attribute with templates in JSFPrimefaces 在 JSF 中使用模板更新属性
【发布时间】:2013-06-04 20:23:38
【问题描述】:
我有一个由一个标题和一个正文组成的模板。在标题中有一个 Primefaces ajax 组件,它必须更新我身体的某些部分。问题是实现正文模板的页面具有面板和其他具有不同 ID 的组件,并且我的标题组件的 update 属性需要一个 ID 列表。
我需要什么?我需要让我的页面设置标题组件的update 属性。因此,在我的应用程序流程中的任何地方,标题组件都会更新特定页面的正确部分。
这可能吗?
在 PrimeFaces 3.5、Mojarra 2.1.13、JDK 1.6.x 上运行。谢谢!
【问题讨论】:
标签:
java
jsf
jsf-2
primefaces
【解决方案1】:
如果我理解正确,你可以这样做:
您的主模板应如下所示(例如 index.xhtml):
<h:head>
</h:head>
<h:body>
<h:form>
<p:commandButton update="#{regions}" value="Update" />
</h:form>
<ui:insert name="page" />
</h:body>
每个页面或您的页面应该如下所示(比如 page.xhtml):
<ui:composition template="index.xhtml">
<ui:param name="regions" value=":panel1" />
<ui:define name="page">
<p:panel id="panel1">
<h:outputText value="#{bean.date}" />
</p:panel>
<p:panel id="panel2">
<h:outputText value="#{bean.date}" />
</p:panel>
</ui:define>
</ui:composition>
在此示例中,您只需根据要更新的组件列表更改ui:param 值。注意表单ID和prependId="false"。