JSF中partialSubmit和autoSubmit有什么区别?

App*_*rew 5 jsf oracle-adf

我想我知道不同之处,但现在我发现自己很困惑.:P

它们似乎都做同样的事情,除了partialSubmit用于提交按钮以使用AJAX提交表单,autoSubmit并用于可编辑的组件,它只提交自己的内容.我说得对吗?

Bil*_*ain 9

对于ADF,接受的答案并非100%正确.该partialTriggers属性涉及生命周期.

声明式启用部分页面呈现

autoSubmit和输入部件上的属性partialSubmit 的命令组件属性是不一样的东西.当 partialSubmit设置为true时,将仅partialTriggers在整个生命周期中处理具有其属性值的组件.autoSubmit输入和选择组件使用该属性来告诉框架在值更改时自动执行表单提交.但是,在提交表单并将 autoSubmit属性设置为true时,将调用valueChangeEvent事件,并且生命周期仅在标记为该事件的根组件及其子项的组件上运行.有关更多信息,请参见第4.4节" 使用优化生命周期 ".


map*_*aft 3

它们都是从自定义 JSF 组件的自定义属性中发生的启用 AJAX 的调用。本质上是autoSubmit异步回发特定于组件的内容,用于使服务器端托管 Bean 值与客户端组件内的内容保持同步。

ApartialSubmit是另一个异步 AJAX 调用,它将用于在某种组件事件上立即回发组件值,例如失去对 ICEFaces inputText 组件的焦点。

值得注意的是,整个 ViewState 都会在每种类型的异步提交上回发,因此,如果在提交之前页面上其他组件的值发生了更改,则绑定的服务器端托管 bean 属性的值也会刷新,即使客户端组件可能不会刷新以反映可能发生的任何服务器端数据更改。

事实上,整个 JSF 服务器端生命周期发生在每次回发上,请阅读以下有关实现调试 PhaseListener 的文章,该文章允许您查看每次异步提交操作发生后发生的阶段。

http://balusc.blogspot.com/2006/09/debug-jsf-lifecycle.html