为什么这不起作用?下拉列表已填充好,但在提交表单时,selectedCatId字段为空。为什么?请帮忙。
The Bean:
@Model
public class MyBean {
@Named
@Produces
private Long selectedCatId;
@Named
@Produces
private List<Category> cats;
}
页面:
<h:selectOneMenu value="#{selectedCatId}">
<f:selectItems value="#{cats}" var="cat"
itemValue="#{cat.id}" itemLabel="#{cat.name}" />
</h:selectOneMenu>
答案 0 :(得分:2)
您无法分配给bean,只能分配给bean属性。
只需从您的成员中移除@Named @Produces
,将@Named
添加到MyBean
,然后将#{selectedCatId}
和#{cats}
替换为#{myBean.selectedCatId}
和#{myBean.cats}
分别。
(这假设cats
在某处初始化。)