在向数据表添加新行时,我遇到了无法保留数据表值的问题。我是否必须在请求范围内拥有我的bean,那么有没有办法在后续添加期间保留更新的数据表值?在我的例子中,绑定列表(使用datatable的value属性)在每个添加行操作期间始终为空。
豆:
public class Students {
private StudentService service;
@PostConstruct
public void init() {
list = service.list();
}
public void add() {
list.add(new Student());
}
public void save() {
service.save(list);
}
}
形式:
<h:form>
<h:dataTable value="#{students.list}" var="student">
<h:column><h:inputText value="#{student.name}" /></h:column>
</h:dataTable> <h:commandButton value="Add" action="#{students.add}" />
<h:commandButton value="Save" action="#{students.save}" />
</h:form>
答案 0 :(得分:0)
如果你有请求bean,一种方法是在该组件上有valueChangeListener =“#{bean.ajaxCall}”并在你的bean中有一个空的ajaxCall方法。这样,值就会通过辅助bean中的ajax调用进行存储,并且在更新数据表后仍然存在。