在我的JSF中我有以下代码:
<p:outputLabel value="Area" for="area" />
<p:selectOneMenu value="#{addActionView.area}" id="area">
<f:selectItems value="#{addActionView.areas}" />
</p:selectOneMenu>
<p:commandButton value="Save" action="#{addActionView.save}" />
AddActionView.java:
public List<Area> getAreas() {
List<Area> result = new LinkedList<Area>();
... fill in Values
return result;
}
private Area area;
public Area getArea() {
return area;
}
public void setArea(Area bereich) {
this.area = bereich;
}
当我点击命令按钮时,没有任何反应。当我删除selectOneMenu时,页面按预期工作。我的错在哪里?
答案 0 :(得分:-2)
我不确定这是否完全必要,但我将选择列表列为 javax.faces.model.SelectItem; 类的实例,而不是我定义了自己。
JSF需要知道在下拉框中的类区域实例中显示哪些属性,因此您可以假设您必须使用内置类或指定id为area.getId()和要显示的字符串是area.getString()等。
但是,我甚至不知道这个答案是否解决了你的问题,因为问题中提到的问题不清楚。