【问题标题】:Nested ajax with nested rendered attribute in JSFJSF中带有嵌套渲染属性的嵌套ajax
【发布时间】:2013-06-04 06:27:06
【问题描述】:
<h:form action="" prependId="false">
    <h:selectOneRadio value="#{managedBean.color}" id="color">
        <f:selectItem itemValue="red" itemLabel="Color1 - Red" />
        <f:selectItem itemValue="green" itemLabel="Color1 - Green" />
        <f:ajax event="click"  render="group1"  listener="#{managedBean.renderSubQuestions}"/>
    </h:selectOneRadio>         
    <h:panelGroup id="group1">
        <h:outputLabel value="  Color Description "   rendered="#{managedBean.colorRender}"></h:outputLabel>    
        <h:inputText  rendered="#{managedBean.colorRender}"></h:inputText>          
        <h:selectOneRadio id="number" value="#{managedBean.integer}"  rendered="#{managedBean.colorRender}" >
            <f:selectItem itemValue="1" itemLabel="Number1 - 1" />
            <f:selectItem itemValue="2" itemLabel="Number1 - 2" />
            <f:selectItem itemValue="3" itemLabel="Number1 - 3" />
            <f:ajax event="click"  render="group2 "  listener="#{managedBean.renderSubQuestions}"/>
        </h:selectOneRadio>         
    </h:panelGroup>
    <h:panelGroup id="group2">
        <h:outputLabel value="Number Description " rendered="#{managedBean.integerRender}"></h:outputLabel> 
        <h:inputText   rendered="#{managedBean.integerRender}"></h:inputText>
    </h:panelGroup>
</h:form>

在我的场景中,我使用了带有嵌套渲染属性的嵌套 JSF AJAX。如果我根据选择选择一种颜色,它会使用 AJAX 呈现一些单选按钮(添加元素)。它工作正常,但具有 AJAX 行为的其他元素对我不起作用。如果我删除数字单选按钮中的 rendered 属性,它工作正常。我不知道我在哪里做错了。

【问题讨论】:

    标签: jsf jsf-2


    【解决方案1】:

    很可能您的ManagedBean 不在ViewScoped 或SessionScoped 中。当您发回 bean 时,您将失去 rendered 状态。我建议换成ViewScoped 一个。

    不相关:

    • 您应该从h:form 中删除action 属性,因为JSF 会覆盖它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-12
      相关资源
      最近更新 更多