1

关于这个还有另一个问题,但我无法解决我的问题。 jsf 和 primefaces 更新问题

什么是正确的开始级别:?我只想更新messagePanel-messages,有什么问题。我尝试了 5 种不同的解决方案,但都没有成功。

<ui:composition template="./template.xhtml">

    <ui:define name="title">
        <h:outputText value="#{bundle.editXTZ_title} - #{XTZBean.username} - -->: #{RmaBean.selectedRma.rma}"></h:outputText>
    </ui:define>
    <h:panelGroup id="messagePanel" layout="block">
        <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
    </h:panelGroup>
    <ui:define name="body">
        <h:form id="formi">
            <p:accordionPanel activeIndex="#{XTZBean.activeIndex}">  
                <p:tab title="Muokkaa"> 

......更多代码然后

                <p:tab title="Avainsanat">  

                        <p:panelGrid id="avainsanaGrid" style="margin-top:20px;" styleClass="noBorders">
                            <p:row>
                                <p:column></p:column>
                                <p:column></p:column>


<p:row rendered="#{XTZBean.suljettu}">
                                <p:column></p:column>
                                <p:column></p:column>
                                <p:column><p:commandButton value="Tallenna" id="btnAvainsana" process="@this,avainsana" update="avainsanaGrid, :messagePanel"  
                                                           actionListener="#{XTZBean.talletaAvainsana}" style="width: 210px;"/></p:column>
                                <p:column></p:column>
                                <p:column></p:column>
                                <p:column></p:column>
                                <p:column></p:column>
                            </p:row> 
                         </p:panelGrid>  
                    </p:tab>

谢谢!萨米人

4

1 回答 1

3

根据目前提供的信息(并假设<ui:insert name="body">不是在另一个NamingContainer组件中),:messagePanel是正确的。

但这<h:panelGroup id="messagePanel">不是在正确的地方。它完全在模板定义之外,因此完全被忽略了。它必须放在任何<ui:define>.

例如

<ui:define name="body">
    <h:panelGroup id="messagePanel" layout="block">
        <h:messages errorStyle="color: red" infoStyle="color: green" layout="table"/>
    </h:panelGroup>

    <h:form id="formi">
        ...
    </h:form>
</ui:define>

也可以看看:

于 2012-11-01T12:49:49.253 回答