编程语言
首页 > 编程语言> > java – JSF 2.0每次从selectOneMenu中选择一个项目时,如何显示不同的h:panelGroup

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.

标签:java,ajax,jsf,jsf-2,java-ee-6
来源: https://codeday.me/bug/20191007/1864879.html