微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – JSF 2.0每次从selectOneMenu中选择一个项目时,如何显示不同的h:panelGroup

我有一个selectOneMenu,显示一些不同的东西类别:

<h:selectOneMenu value="#{searchController.selectedCategory}">
        <f:selectItems value="#{searchController.formatedCategories()}" >               
        </f:selectItems>
    </h:selectOneMenu>

我需要根据所选类别显示不同的panelGroup.
示例(选择第一项时需要显示此项)

<h:panelGroup id="carInfo">
        <h:outputText value="marka" />
        <h:selectOneMenu>
            <f:selectItems value="#{searchController.formatedCarMarks()}" />
        </h:selectOneMenu>
        <h:outputText value="godina" />
        <h:selectOneMenu>
            <f:selectItems value="#{searchController.formatedYearFrom()}" />
        </h:selectOneMenu>
        <h:selectOneMenu>
            <f:selectItems value="#{searchController.formatedYearTo()}" />
        </h:selectOneMenu>
        <h:outputText value="kms.:" />
        <h:selectOneMenu>
            <f:selectItems value="#{searchController.kmsFrom()}" />
        </h:selectOneMenu>
        <h:selectOneMenu>
            <f:selectItems value="#{searchController.kmsTo()}" />
        </h:selectOneMenu>
    </h:panelGroup>

我不知道该怎么做,因为我需要刷新页面.
有任何想法吗? Ajax可以帮助我吗?如果是这样,有人可以告诉我怎么样?我根本不熟悉.

解决方法:

这可以通过ajax轻松完成:

>放< h:panelGroup>外部< h:panelGroup>内的元素
>嵌套< f:ajax>在< h:selectOneMenu>内并将外部< h:panelGroup>的id设为在其render属性中.
>给每个内部< h:panelGroup>元素一个呈现的属性,仅当选择了相应的类别时才会计算为true.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐