HI,
我对在JSF bean中调用ActionListener方法有疑问.例如,JSF表单的每个请求或提交都经历了六个阶段的生命周期.但是,当我们触发特定事件(如动作侦听器或值更改侦听器)时,是否存在与该请求关联的生命周期?
请澄清我.
Bal*_*usC 10
在实际操作方法之前的调用操作阶段期间调用任何操作侦听器.要调用哪些动作侦听器方法是基于与提交相关联actionListener的UICommand组件的属性来确定的.
在成功转换/验证提交的值之后,并且仅在提交的值与初始值不同时,在验证阶段(或immediate="true"对特定UIInput组件应用请求值阶段)调用任何值更改侦听器.根据与提交相关联的组件的属性确定要调用哪些值更改侦听器方法.valueChangeListenerUIInput
不,他们没有自己的生命周期.当他们完成执行并返回时,它仍处于生命周期的同一阶段.在调用之后valueChangeListener,JSF将继续转换/验证下一个UIInput组件,或者如果没有,则继续下一个阶段.在调用之后actionListener,JSF将继续下一个actionListener或如果没有,则调用实际操作方法.
更新:再次阅读您的评论后,我认为我现在看到您对特别是价值变化倾听者的怀疑.您似乎认为默认情况下,它会在客户端更改事件期间立即向服务器端发出一个全新的请求.它是不是默认.您只能通过添加一小段JavaScript代码来实现这一点,该代码在HTML输入字段的更改事件期间提交整个HTML表单.
onchange="this.form.submit()"
Run Code Online (Sandbox Code Playgroud)
这部分与JSF无关.这是一个简单的HTML属性.在webbrowser中打开页面,右键单击并选择" 查看源".你会看到它就在那里.在浏览器中禁用JavaScript或在JSF代码中删除它,您将看到它将不再起作用.你会需要按提交按钮自己把一切运行.
| 归档时间: |
|
| 查看次数: |
9151 次 |
| 最近记录: |