java - Primefaces 使用 JSF 中的模板更新属性

标签 java jsf jsf-2 primefaces

我有一个由一个标题和一个正文组成的模板。 header 中有一个 Primefaces ajax 组件,它必须更新我 body 的部分内容。问题在于,实现主体模板的页面具有具有不同 id 的面板和其他组件,并且我的 header 组件的 update 属性需要一个 id 列表。

我需要什么?我需要让我的页面设置 header 组件的 update 属性。因此,在我的应用程序流程中的任何位置, header 组件都将更新特定页面的正确部分。

这可能吗?

在 PrimeFaces 3.5、Mojarra 2.1.13、JDK 1.6.x 上运行。谢谢!

最佳答案

如果我理解正确的话,你可以这样做:

您的主模板应如下所示(例如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"

关于java - Primefaces 使用 JSF 中的模板更新属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17002551/

相关文章:

java - 聚焦到 primefaces 选项卡 View 中的特定选项卡

java - 我不确定我是否理解 java 中的可序列化是如何工作的

java - ServerSocket accept() 方法

JSF 在 selectOneMenu 选择后更新 inputText

css - 从 p :chart barchart 中删除网格和边框

java - 如何在managedBean之间传递参数

java - 向 glassfish 4 发布迁移应用程序

java - 特定日期的假系统时钟

JavaFx 和套接字监听器

java - 如何在 JSF 中同步来自同一用户的两个请求?