Jsf 2 未在ViewScope中正确添加数据表值

Jsf 2 未在ViewScope中正确添加数据表值,jsf-2,datatable,Jsf 2,Datatable,表格和表格在同一页上。当用户添加表单详细信息并单击“添加”时,数据应复制到表中 当用户输入详细信息并第二次单击“添加”(表中已有数据)时,第一个值将被新值覆盖,而列表中的下一个值为空 我们如何在表上显示这两个值 Name.xhtml }返回非null/void将结束视图范围。您需要返回null或void,以便为后续请求保留视图范围 替换 return ""; 借 或 返回null并不能解决问题。每次单击页面上的按钮都会创建一个新视图。显然,您已经将视图范围bean的属性绑定到视图构建期间运行的

表格和表格在同一页上。当用户添加表单详细信息并单击“添加”时,数据应复制到表中

当用户输入详细信息并第二次单击“添加”(表中已有数据)时,第一个值将被新值覆盖,而列表中的下一个值为空

我们如何在表上显示这两个值

Name.xhtml


}

返回非
null
/
void
将结束视图范围。您需要返回
null
void
,以便为后续请求保留视图范围

替换

return "";


返回null并不能解决问题。每次单击页面上的按钮都会创建一个新视图。显然,您已经将视图范围bean的属性绑定到视图构建期间运行的某个标记/属性。然而,问题中迄今为止发布的代码并未表明这一点。所以它是由其他地方引起的。有关详细的背景信息,请参阅以下答案:h:dataTable是我代码中的一个复合组件。看起来我们无法在复合组件中使用属性化的视图作用域bean。这取决于它们是在视图生成时使用还是在视图呈现时使用。您的问题表明它已在视图生成时使用。
public String addBuyer(){
 buyerTOList.add(buyerTO);
 buyerTO = new BuyerTO();
 return "";
return "";
return null;
public void addBuyer() {
    // ...
    // No return statement.
}