如何使用模板将bean从jsf传递给另一个?

时间:2014-04-01 12:25:46

标签: java jsf primefaces

我正在传递一个bean(它是一个子bean,因为它包含在另一个Session bean中),这个bean应该从客户端template-1传递到另一个客户端template-2,但是接收的值为null。但是我可以在页面之间使用ui:param正确发送参数,但是无法在客户端模板之间发送bean。 请注意,客户端template2将覆盖客户端模板1,它将进入主菜单的内容区域(maintracking.xhtml)。

问题:如何在客户端模板之间发送bean / share后端数据?

平台: netbeans:8.0 Jsf 2.2,primeface 4.0 Apache Tomcat 7

bean null screenshot http://safirasoft.com/wp-content/uploads/2014/04/beannull.png

public class SubBean implements Serializable{
//---  
}

@ManagedBean
@SessionScoped
public class FicheDescControl implements Serializable 
 {
   Subbean subbean;
//....
}

主菜单(模板):maintracking.xhtml

<h:body>
    <div id="top" class="top">
        <ui:insert name="top"> 
             top content
            </ui:insert>
    </div>

    <div id="content" class="center_content">
        <ui:insert name="content"></ui:insert>
    </div>

</h:body>

客户端1模板:

<ui:composition template="./maintracking.xhtml">
        <ui:define name="content">
            <h:form>              
                <p:dataTable  id="table" value="#{ficheDescControl.lfiches}" var="fiche" >

                        <h:commandButton action="#{ficheDescControl.retrieveFiche()}" value="Donner le Visa (Accord)"  rendered="#{p:ifGranted('chef')}">
                            <f:setPropertyActionListener target="#{ficheDescControl.idFicheParam}" value="#{fiche.idFicheDescriptive}" />
                        </h:commandButton>
                    </p:column>   
                    <ui:param name="idFicheParamP" value="behhhh" />
                </p:dataTable>
            </h:form>
        </ui:define>
    </ui:composition>

Client2模板:

<ui:composition template="./maintracking.xhtml">
        <ui:define name="content">    
                    <f:view>
                        <p:outputLabel style="color: red;font-size: medium;      font-weight: bolder;"
                                       value="idFicheParam =  #{ficheDescControl.idFicheParam}"/>  
                        <p:outputLabel style="color: red;font-size: medium; font-weight: bolder;" 
                                       value="  ----- selected subbean: #{ficheDescControl.subbean}"/>  



                            <h:commandButton action="#{ficheDescControl.edit()}" value="Valider" />
                        </h:form>
                    </f:view>
        </ui:define>
    </ui:composition>

0 个答案:

没有答案