Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jsf中验证错误后恢复表单数据_Jsf - Fatal编程技术网

jsf中验证错误后恢复表单数据

jsf中验证错误后恢复表单数据,jsf,Jsf,我在页面上有一个组合框(下拉列表)和一个文本字段。它们都需要设置为true。当我在下拉列表中选择一个值并提交表单时,验证开始,我被重定向到同一页面,因为文本字段值为null。这是好的,但我失去了在下拉列表中选择的数据。当出现验证错误时,如何保留表单数据?我在jsf1.2中使用facelets。嗨 它在JSF2.0中运行良好。我刚试过。我编写了以下代码: <f:view> <h:form> <h:inputText id="n

我在页面上有一个组合框(下拉列表)和一个文本字段。它们都需要设置为true。当我在下拉列表中选择一个值并提交表单时,验证开始,我被重定向到同一页面,因为文本字段值为null。这是好的,但我失去了在下拉列表中选择的数据。当出现验证错误时,如何保留表单数据?我在jsf1.2中使用facelets。

它在JSF2.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;
}

私有字符串selectedItem;
private ArrayList items=null;
公共字符串getSelectedItem(){
this.selectedItem=“--Select--”;
返回selectedItem;
}
public void setSelectedItem(字符串selectedItem){
this.selectedItem=selectedItem;
}
公共阵列列表getItems(){
this.items=new ArrayList();
SelectItem SelectItem=新建SelectItem(“1”、“1”);
SelectItem selectItem1=新建SelectItem(“--Select--”和“--Select--”);
此.items.add(选择项);
此.items.add(选择Item1);
退货项目;
}
公共无效集合项(ArrayList项){
这个项目=项目;
}

它也在JSF 1.2中工作。有一次,我在文章中读到SelectMenu中存在一些错误,无法保留该值。你能更新到最新版本1.2.X并试试吗。