2

我想重置我的 JSF 表单。我已经实现了一个Action方法来重置支持 bean 中的所有属性。

当我再次返回String转发到同一页面的 a 时,所有表单条目都将被重置。输入文本框和组合框。

但是当我返回时,null只有输入文本框被重置,而不是组合框。

我不明白这种行为。两种方式调用同一个方法,都转发到同一个页面。

4

1 回答 1

5

从操作方法返回结果会导致构造视图的新实例(带有新的组件树)。如果您null改为返回,则会重用现有视图实例(现有组件树)。

JSF 中的组件可以是有状态的。例如,如果验证失败,JSF 不会更新模型(backingbean),但仍会重新呈现用户输入的无效数据。这是通过将无效数据保留在组件中来实现的。

于 2011-11-19T13:17:51.930 回答