JSF中action、actionListener、ValueChangeListener的区别

简介:
事件                  | 校验   |            参数                      |                事件产生                                   |页面跳转 
action                | ok     | 无参数,不传入当前控件,有返回值       |当铵钮被单击时产生事件.提交表单                            |返回页面---根据配置文件跳转
actionListener        | ok     | 传入当前控件,无返回值                |当铵钮被单击时产生事件.提交表单                            |返回本页面 
ValueChangeListener   | ok     | 传入当前控件,无返回值                |不提交表单(需指定其onchange/ |返回本页面
action()处理的是业务逻辑.实际上JSF会自动产生一个"预设的ActionListener"来处理事件,并根据其返回值决定页面跳转.第五阶段:调用应用执行
         会影响到页面间的导航(navigation)。主要处理一些业务逻辑并返回几个业务逻辑结果(String类型),JSF的导航系统将会根据这个来选择恰当的下一个页面. 会提交表单.
actionListener(ActionEvent e)处理页面上组件的"监听事件".第五阶段:调用应用执行
          不会影响到导航.主要操作当前页面内的组件,或者是进行一些业务模型上的改变,或者是修改backing bean(托管Bean)的属性等,并不会出现在页面间的跳转。会提交表单.
valueChangeListener(ValueChangeEvent event)处理页面上组件值变化的"监听事件","第三阶段:验证请求值"执行

ActionListener (事件监听器)是用于解决只影响用户界面的事件 
        特别地,在beans的form数据被加载和触发验证前被调用 
        用immediate=“true”指明这个行为不触发验证 
        在监听器调用后,会重新显示表单 
        不应用导航规则,不重定向页面 
Action 
        隶属于按钮、超链接和图形映射控件 
        自动提交对应表单 
ValueChangeListener 
        隶属于单选框、组合框、列表框、复选框、文本框等控件 
        需要用


本文转自sucre03 51CTO博客,原文链接:http://blog.51cto.com/sucre/354188,如需转载请自行联系原作者
相关文章
|
6月前
|
Java
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
struts+hibernate+oracle+easyui实现lazyout组件的简单案例——Action的实现类
|
安全 Java 应用服务中间件
struts2中Action的生命周期
struts2中Action的生命周期
113 0
|
XML 前端开发 数据格式
Struts2里面灵活action跳转
Struts2里面灵活action跳转
222 0
|
Java
Struts2【开发Action】(一)
Struts2【开发Action】
145 0
Struts2【开发Action】(一)
|
Java
Struts2【开发Action】(三)
Struts2【开发Action】
159 0
Struts2【开发Action】(三)
|
Java API 容器
Struts2【开发Action】(二)
Struts2【开发Action】
172 0
Struts2【开发Action】(二)
|
Java API 数据安全/隐私保护
Struts2【开发Action】知识要点
前言 前面Struts博文基本把Struts的配置信息讲解完了.....本博文主要讲解Struts对数据的处理 Action开发的三种方式 在第一次我们写开发步骤的时候,我们写的Action是继承着ActionSupport类的.
1213 0