我必须选择一个菜单。在第一个选择菜单中,我加载所有仓库值。
在第二个菜单中,我想加载所有产品,这取决于仓库。所以,如果我做一个值更改第一个选择一个菜单,我将呈现第二个菜单。
我有一个ProductDataAction Bean。在这个bean我有以下方法。
public List<Product> getAllProductsForProjectAndWarehouse() {
Warehouseinput w = warehouseinputDataAction.getActualWarehouseInput();
return w.getWarehouse().getProduct();
}
我的问题是,我的ProductDataActionBean中的值w.getWarehouse()为null。
我的期望是,它不是null,因为在我的xthml页面中我设置了 warehouseinputSaveActions.actualWarehouseInput.warehouse中的第一个选择菜单的值。
<div class="form-group form-md-line-input">
<label class="col-md-2 control-label">#{texts['warehouseinput.warehouse']}</label>
<h:selectOneMenu value="#{warehouseinputSaveActions.actualWarehouseInput.warehouse}">
<f:converter converterId="ccWarehouseConverter"/>
<f:selectItems value="#{warehouseDataActions.getAllWarehousesForProject
(warehouseinputDataActions.actualWarehouseInput.project)}" var="warehouse"
itemLabel="#{warehouse.warehouseName}" itemValue="#{warehouse}"/>
<f:ajax event="change" execute="@form" render="products"/>
</h:selectOneMenu>
</div>
<div class="form-group form-md-line-input">
<label class="col-md-2 control-label">#{texts['warehouseinput.product']}</label>
<h:selectOneMenu id="products" value="#{warehouseinputSaveActions.actualWarehouseInput.product}">
<f:converter converterId="ccConverter"/>
<f:selectItems value="#{productDataActions.getAllProductsForProjectAndWarehouse()}"
var="product"itemLabel="#{product.productName}" itemValue="#{product}"/>
</h:selectOneMenu>
</div>