我有一个组合框(下拉列表)和页面上的文本字段。它们都需要设置为true。当我在下拉列表中选择一个值并提交表单时,验证将启动并且由于文本字段值为null,我将重定向到同一页面。哪个好,但我放松了下拉列表中选择的数据。如果出现验证错误,如何保留表单数据?我正在使用带有jsf1.2的facelets。
答案 0 :(得分:1)
HI,
它在JSF 2.0中运行良好。我刚尝试过。我写了以下代码:
<f:view>
<h:form>
<h:inputText id="name" value="#{jsfBean.name }" required="true"/>
<h:selectOneMenu id="items" value="#{jsfBean.selectedItem }" required="true">
<f:selectItems value="#{jsfBean.items }"/>
</h:selectOneMenu>
<h:commandButton id="submit" value="Submit" action="#{jsfBean.submit }" />
</h:form>
</f:view>
private String selectedItem;
private ArrayList<SelectItem> items = null;
public String getSelectedItem() {
this.selectedItem = "--Select--";
return selectedItem;
}
public void setSelectedItem(String selectedItem) {
this.selectedItem = selectedItem;
}
public ArrayList<SelectItem> getItems() {
this.items = new ArrayList<SelectItem>();
SelectItem selectItem = new SelectItem("1","1");
SelectItem selectItem1 = new SelectItem("--Select--","--Select--");
this.items.add(selectItem);
this.items.add(selectItem1);
return items;
}
public void setItems(ArrayList<SelectItem> items) {
this.items = items;
}