项目<o:p></o:p> | 校验<o:p></o:p> | 参数<o:p></o:p> | 事件 | 页面跳转<o:p></o:p> |
action <o:p></o:p> | ok <o:p></o:p> | 不传入当前控件<o:p></o:p> | 当铵钮被单击时产生事件.提交表单 | 返回跳转的页面导向,根据配置文件跳转<o:p></o:p> |
actionListener<o:p></o:p> | ok <o:p></o:p> | 传入当前控件<o:p></o:p> | 当铵钮被单击时产生事件.提交表单 | 无返回值,返回本页面<o:p></o:p> |
ValueChangeListener | ok<o:p></o:p> | 传入当前控件,无返回值 <o:p></o:p> | 不提交表单(需指定其onchange/οnclick="submit"才自动提交表单 | 返回action,动态生成跳转 |
详细说明:
action()处理的是业务逻辑.实际上JSF会自动产生一个"预设的ActionListener"来处理事件,并根据其返回值决定页面跳转. 第五阶段:调用应用执行, 会影响到页面间的导航(navigation)。主要处理一些业务逻辑并返回几个业务逻辑结果(String类型),JSF的导航系统将会根据这个来选择恰当的下一个页面. 会提交表单.
actionListener(ActionEvent e)处理页面上组件的"监听事件". 第五阶段:调用应用执行, 不会影响到导航.主要操作当前页面内的组件,或者是进行一些业务模型上的改变,或者是修改backing bean(托管Bean)的属性等,并不会出现在页面间的跳转。会提交表单.
valueChangeListener(ValueChangeEvent event)处理页面上组件值变化的"监听事件", "第三阶段:验证请求值"执行
注意:
ActionListener (事件监听器)是用于解决只影响用户界面的事件 , 特别地,在beans的form数据被加载和触发验证前被调用 , 用immediate=“true”指明这个行为不触发验证 , 在监听器调用后,会重新显示表单 , 不应用导航规则,不重定向页面
Action 隶属于按钮、超链接和图形映射控件,自动提交对应表单 。
ValueChangeListener 隶属于单选框、组合框、列表框、复选框、文本框等控件,需要用οnclick=“submit()”或οnchange=“submit()”的方式提交表单