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.

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...