【问题标题】:Cascade dynamic rendering selectOneMenu doesn't work级联动态渲染 selectOneMenu 不起作用
【发布时间】:2011-12-09 13:13:57
【问题描述】:

我认为我的问题很简单,但我找不到明确的解决方案。

我有三个 selectOneMenu,我希望始终呈现第一个,如果第一个选择了某个值,则呈现第二个,如果第二个选择了某个值,则呈现第三个。

第一个和第二个之间的关系很好,但在第二个和第三个之间就不行了。

当我更改第一个 selectOneMenu 的值时,第二个 selectOneMenu 会正确显示或隐藏。 但是当我更改第二个的值时,第三个 selectOneMenu 没有任何反应,就像 f:ajax 渲染没有被触发一样。

下面的jsf代码:

<h:panelGrid columns="2">
    <h:outputText value="Type Paiement" />
      <h:selectOneMenu
            value="#{employeurBean.idTypePaiement}"> 
            <f:selectItem itemValue="" itemLabel="Choix typePaiement" />
            <f:selectItems value="#{typePaiementBean.typesPaiement}" var="vtp"
            itemLabel="#{vtp.libelle}" itemValue="#{vtp.idTypePaiement}" />
            <f:ajax event="change" render="gmodp" />
      </h:selectOneMenu>    
</h:panelGrid>

<h:panelGrid id="gmodp">
<h:panelGroup rendered="#{employeurBean.idTypePaiement == 2}">
    <h:outputText value="Mode Paiement" />
      <h:selectOneMenu
            value="#{employeurBean.idModePaiement}"> 
            <f:selectItem itemValue="" itemLabel="Choix mode Paiement" />
            <f:selectItems value="#{modePaiementBean.modesPaiement}" var="vmp"
            itemLabel="#{vmp.libelle}" itemValue="#{vmp.idModePaiement}" />
        <f:ajax event="change" render="grib"/>
    </h:selectOneMenu>
</h:panelGroup> 
</h:panelGrid>

<h:panelGrid id="grib">
<h:panelGroup rendered="#{employeurBean.idModePaiement == 1}">
    <h:outputText value="Compte" />
    <h:inputText value="#{employeurBean.compte}">
    </h:inputText>
</h:panelGroup>
</h:panelGrid> 

有没有什么想法可以实现。 非常感谢您的帮助

【问题讨论】:

    标签: jsf-2


    【解决方案1】:

    如果 bean 是请求范围的和/或您在 getter 方法而不是操作侦听器方法中执行业务操作(例如预加载列表),则此构造将失败。确保 bean 被放置在视图范围内,并且您正在操作侦听器方法中执行业务操作。

    如果这不能解决问题,那么您真的必须在问题中的视图代码中发布支持 bean 代码。

    【讨论】:

    • 感谢您的回答,我正在简化我的支持 bean 的代码来发布它,最后通过简化的代码问题消失了。所以问题是支持 bean 有一个父 bean,而父 bean 不可序列化,我将其设为可序列化,问题就解决了。
    猜你喜欢
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2018-12-11
    • 2015-12-20
    • 2015-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多