有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java设置h的值:从a中为每个

这是每个人迭代产品列表的唯一方法,我需要在下面的下拉列表中设置productGroupId

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

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

我已经尝试了所有的组合,但它不工作。。。有人能帮忙吗


共 (1) 个答案

  1. # 1 楼答案

    不清楚你所说的“它不起作用”到底是什么意思。在目前发布的代码中,我看到了至少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>
    

    如果这仍然不起作用,那么您需要附加一个<h:messages/>来了解任何缺少的转换/验证错误

    <h:messages />
    

    例如,当<f:selectItems>后面的列表在表单提交请求期间未正确(预)初始化时,您可能会得到一个“Value not valid”验证错误

    另请参见: