首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在选择一个selectOneMenu后呈现其他selectOneMenu组件

在选择一个selectOneMenu后呈现其他selectOneMenu组件
EN

Stack Overflow用户
提问于 2011-11-26 01:33:19
回答 1查看 5.3K关注 0票数 3

我希望通过选择主<h:selectOneMenu>来显示多个<h:selectOneMenu>

不起作用的示例

代码语言:javascript
复制
<h:form id="selectForm">
    <h:selectOneMenu id="main" value="#{bean.main}">
         <f:selectItem itemValue="1" itemLabel="1"/>
         <f:selectItem itemValue="2" itemLabel="2"/>
         <f:selectItem itemValue="3" itemLabel="3"/>
         <f:selectItem itemValue="4" itemLabel="4"/>
         <f:ajax render="hotelSearch"/>
    </selectOneMenu>
    //this one is displayed if main is greater than 1
    <h:selectOneMenu id="2" rendered="main>1">
         <f:selectItem itemValue="1" itemLabel="1"/>
         <f:selectItem itemValue="2" itemLabel="2"/>
         <f:selectItem itemValue="3" itemLabel="3"/>
         <f:selectItem itemValue="4" itemLabel="4"/>
    </h:selectOneMenu>
    //this one is displayed if main is greater than 2
    <h:selectOneMenu id="3" rendered="main>2">
         <f:selectItem itemValue="1" itemLabel="1"/>
         <f:selectItem itemValue="2" itemLabel="2"/>
         <f:selectItem itemValue="3" itemLabel="3"/>
         <f:selectItem itemValue="4" itemLabel="4"/>
    </h:selectOneMenu>
</h:form>

我如何才能做到这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-26 01:38:11

您需要使其成为有效的EL表达式#{}

更新了(update:代码示例以反映新的功能需求,使其在不需要托管bean的情况下工作)

代码语言:javascript
复制
<h:form id="selectForm">
    <h:selectOneMenu binding="#{mainMenu}">
        <f:selectItem itemValue="1" itemLabel="1"/>
        <f:selectItem itemValue="2" itemLabel="2"/>
        <f:selectItem itemValue="3" itemLabel="3"/>
        <f:selectItem itemValue="4" itemLabel="4"/>
        <f:ajax render="@form"/>
    </h:selectOneMenu>

    <h:selectOneMenu rendered="#{mainMenu.value gt 1}">
        <f:selectItem itemValue="1" itemLabel="1"/>
        <f:selectItem itemValue="2" itemLabel="2"/>
        <f:selectItem itemValue="3" itemLabel="3"/>
        <f:selectItem itemValue="4" itemLabel="4"/>
    </h:selectOneMenu>

    <h:selectOneMenu rendered="#{mainMenu.value gt 2}">
        <f:selectItem itemValue="1" itemLabel="1"/>
        <f:selectItem itemValue="2" itemLabel="2"/>
        <f:selectItem itemValue="3" itemLabel="3"/>
        <f:selectItem itemValue="4" itemLabel="4"/>
    </h:selectOneMenu>
</h:form>

请注意,我使用的是gt而不是>,因为它是XML中的非法字符。您可以在Java EE tutorial中找到所有的EL操作符。

另请参阅:

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8272483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档