首页 > 代码库 > JSF之Action 与ActionListener的区别

JSF之Action 与ActionListener的区别



 事件 检验 参数 事件产生 页面跳转
 Action 无参数,不传入当前控件,有返回值   当铵钮被单击时产生事件.提交表单  返回页面---根据配置文件跳转
 ActionListener   传入当前控件,无返回值  当铵钮被单击时产生事件.提交表单  返回本页面
 ValueChangeListener     传入当前控件,无返回值  不提交表单(需指定其onchange/onclick="submit"才自动提交表单 返回本页面

 

action():处理的是业务逻辑.实际上JSF会自动产生一个"预设的ActionListener"来处理事件,并根据其返回值决定页面跳转,第五阶段调用应用执行会影响到页面间的导航(navigation),主要处理一些业务逻辑并返回几个业务逻辑结果(String类型),JSF的导航系统将会根据这个来选择恰当的下一个页面.会提交表单.

 

actionListener(ActionEvente):处理页面上组件的"监听事件",第五阶段调用应用执行不会影响到导航.主要操作当前页面内的组件,或者是进行一些业务模型上的改变,或者是修改backingbean(托管Bean)的属性等,并不会出现在页面间的跳转。会提交表单.

 

 valueChangeListener(ValueChangeEventevent):处理页面上组件值变化的"监听事件",第三阶段验证请求值"执行

 

ActionListener(事件监听器):是用于解决只影响用户界面的事件,

特别地,在beans的form数据被加载和触发验证前被调用      ,用immediate=“true”指明这个行为不触发验证  在监听器调用后,会重新显示表单,不应用导航规则,不重定向页面

Action 隶属于按钮、超链接和图形映射控件,自动提交对应表单

ValueChangeListener:隶属于单选框、组合框、列表框、复选框、文本框等控件,需要用onclick=“submit()”或onchange=“submit()”的方式提交表单