我的JSF / IceFaces页面中有两个下拉列表selectOneMenu
,根据我的要求,我希望根据第一个下拉列表的选择在另一个下拉列表中呈现值。
我在下面写了一段代码
<ice:outputText value="Category *" id="category" />
<ice:selectOneMenu id="category"
value="#{createItem.categoryId}"
tabindex="4"
valueChangeListener="#{createItem.searchSubCategory}"
partialSubmit="true">
<f:selectItems value="#{createItem.categoryList}" />
</ice:selectOneMenu>
<ice:outputText value="Sub Category *" id="subcategory" />
<ice:selectOneMenu id="subcategory"
value="#{createItem.subCategoryId}" tabindex="5" >
<f:selectItems value="#{createItem.subCategoryList}" />
</ice:selectOneMenu>
public void searchSubCategory(ValueChangeEvent event) {
try {
subCategoryList = new ArrayList<SelectItem>();
subCategoryList.add(new SelectItem(0,"-- Select --"));
} catch(Exception e) {
System.out.println(" searchSubCategory exception ");
e.printStackTrace();
showMessageDialog(ProjectConstants.ERROR, e.getMessage());
}
}
但是在调用searchSubCategory
方法后,会生成两个下拉列表,其中一个值为空白值,另一个值为-- Select --