Facelet组件ui:组合没有将值传递给Managed bean

时间:2015-03-29 03:34:43

标签: jsf-2 facelets uiinclude

我有一个包含四个部分的页面(标题,菜单,内容和页脚);我使用了ui:include。在内容部分中,有inputTextcommandButton(提交)。当我按下提交按钮时,我输入的inputText值不会传递给bean。我无法使用null(输入文本值)执行我的函数。

索引页:

<h:body >

    <p:poll interval="1" />
    <div
        style="background-color: #E6E6FA;border-width: 1px; border-color: blue; border-style: solid;">
        <ui:insert name="header">
            <ui:include src="header.xhtml" />
        </ui:insert>
    </div>
    <br />
    <div
        style="background-color: #E6E6FA; border-width: 1px; border-color: blue; border-style: solid;">
        <ui:insert name="menubar">
            <ui:include src="menubar.xhtml" />
        </ui:insert>
    </div>
    <br />
    <div
        style="background-color: #E6E6FA;border-width: 1px; border-color: blue; border-style: solid; border-width: 1px; min-height: 700px;">

        <ui:insert name="content" id="mainpage">

            <ui:include src="#{menuBarBean.menuBarDTO.page}.xhtml" ajax="true"/>
        </ui:insert>
    </div>
    <br />
    <div
        style="background-color: #E6E6FA;border-width: 1px; border-color: blue; border-style: solid;">
        <ui:insert name="footer">
            <ui:include src="footer.xhtml" />
        </ui:insert>
    </div>

 </h:body>
</html>

内容页面:

<body bgcolor="E6E6FA">
<ui:composition>            
        <h:panelGrid id="panel" columns="2" border="1" cellpadding="10"
            cellspacing="1">
            <f:facet name="header">
                <h:outputText value="Adding Project" />
            </f:facet>
            <h:outputLabel value="ProjectName" />
            <p:inputText id="emailId"
                value="#{addProjectBean.addProjectDTO.projectName}" required="true"
                validatorMessage="input needed">
            </p:inputText>
            <h:commandButton action="#{addProjectBean.addNewProject}"
                value="Submit" ajax="false" />
            <h:commandButton value="#{msg['prometheus_reset']}"
                style="margin-right:20px;">
                <p:ajax update="panel" resetValues="true" />
            </h:commandButton>
        </h:panelGrid>
        <h:outputLabel name="loginCheck"
            value="#{loginBean.loginDTO.message}" style="color:red">    
        </h:outputLabel>
     </ui:composition>
   </body>

1 个答案:

答案 0 :(得分:-1)

而不是ajax =“true”在ui:composition中使用ajax =“false”。

<ui:include src="#{menuBarBean.menuBarDTO.page}.xhtml" ajax="true"/>

已更新

  <ui:include src="#{menuBarBean.menuBarDTO.page}.xhtml" ajax="false"/>

值传递给托管bean,一切正常。