首页 文章

从a为每个设置h:selectOneMenu的值

提问于
浏览
0

这是每个迭代产品列表的每个,我需要在下面的下拉菜单中设置productGroupId .

<c:forEach items="${productgroup.productList}" var="product">

 <h:selectOneMenu  value="${product.appleProdgroupId}">
<f:selectItems value="#{displayProductsBean.productGroupListDropDown}"/>
</h:selectOneMenu>

我尝试过所有组合,但它不起作用......任何人都可以帮忙

1 回答

  • 0

    目前还不清楚你的意思是“它不起作用” . 在到目前为止发布的代码中,我看到至少3个可能的原因:

    您的第一个问题是您需要使用 #{} 语法而不是 ${} 语法,以便能够自动创建托管bean(如果它们在范围中不存在) .

    <c:forEach items="#{productgroup.productList}" var="product">
        <h:selectOneMenu value="#{product.appleProdgroupId}">
            <f:selectItems value="#{displayProductsBean.productGroupListDropDown}" />
        </h:selectOneMenu>
    </c:forEach>
    

    您的第二个问题可能是 <c:forEach> ,但这取决于运行此代码的上下文 . <c:forEach> 是视图构建时间标记 . 如果以上情况不需要 <ui:repeat> .

    <ui:repeat value="#{productgroup.productList}" var="product">
        <h:selectOneMenu value="#{product.appleProdgroupId}">
            <f:selectItems value="#{displayProductsBean.productGroupListDropDown}" />
        </h:selectOneMenu>
    </ui:repeat>
    

    如果仍然没有't work, then you'需要附加 <h:messages/> 来了解任何遗漏的转换/验证错误 .

    <h:messages />
    

    例如,在表单提交请求期间未正确(预)初始化 <f:selectItems> 后面的列表时,您可以获得"Value not valid"验证错误 .

    另见:

相关问题