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,如需转载请自行联系原作者
相关文章
|
机器学习/深度学习 数据采集 算法
大数据分析案例-基于随机森林模型对北京房价进行预测
大数据分析案例-基于随机森林模型对北京房价进行预测
1295 0
大数据分析案例-基于随机森林模型对北京房价进行预测
|
Oracle 关系型数据库 Linux
|
数据采集 人工智能 API
Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了!
通义千问团队开源「强大」、「多样」、「实用」的 Qwen2.5-Coder 全系列,致力于持续推动 Open Code LLMs 的发展。
|
Java 程序员 API
Java循环操作哪个快?
本文探讨了Java中stream API与传统for循环在性能上的对比,通过多个示例分析了不同场景下两者的优劣。作者指出,尽管stream API使代码更简洁,但不当使用会降低可读性和性能,特别是在处理大数据量时。实验结果显示,在多数情况下,普通for循环的性能优于stream API,尤其是在单次操作耗时较短但需多次执行的场景中。文章建议开发者在设计初期就考虑全局流程,避免重复使用stream流,以提升代码质量和性能。
312 1
Java循环操作哪个快?
|
12月前
|
JSON 数据库 数据格式
[开发技巧] 如何获取汉字笔画数?
在开发卜筮小脚本时遇到获取汉字笔画数的需求,起初尝试使用`pypinyin`库却未得理想结果。经过探索,发现Unicode联盟维护的Unihan数据库提供准确的汉字笔画数据。通过下载Unihan数据库文件,解析其中的`kTotalStrokes`字段,利用正则表达式提取所需信息,并将其保存为JSON格式以供快速查询。最终编写函数`get_character_stroke_count`实现任意汉字笔画数的高效获取,满足了项目需求并提供了准确的数据支持。此方法不仅解决了问题,还为类似需求提供了参考方案。
412 10
[开发技巧] 如何获取汉字笔画数?
|
机器学习/深度学习 人工智能 大数据
阿里云大数据&AI 2022案例合集
阿里云2022大数据&AI精选产品案例合集,了解产品最新及最佳实践,助力企业实现降本增效。
阿里云大数据&AI 2022案例合集
|
人工智能 Cloud Native Serverless
从零到一:阿里云CAP助你轻松高效构建云应用
云原生应用开发平台CAP是阿里云提供的一站式应用开发及生命周期管理平台。它内置丰富的Serverless和AI应用模板、先进的开发者工具和企业级应用管理功能,帮助个人和企业开发者快速构建、部署和管理云上应用,大幅提升研发、部署和运维效能。CAP支持Web应用、AI应用、ETL数据处理等多种场景,提供图形化、低代码的流程编排能力,助力开发者高效构建复杂业务流程。
|
JavaScript 前端开发 编译器
吐血整理:纯前端如何实现批量dom转图片,并下载成压缩包
【10月更文挑战第2天】吐血整理:纯前端如何实现批量dom转图片,并下载成压缩包
306 2
|
监控 安全 Unix
探索Linux操作系统的多用户管理特性
【6月更文挑战第3天】本文深入探讨了Linux操作系统中的一项核心功能——多用户管理。我们将从系统管理员的视角出发,分析如何高效地创建、维护和监控多个用户账户,以及这一机制对于确保系统安全性和资源合理分配的重要性。文章将通过实际案例,展示多用户环境下权限设置的最佳实践,旨在帮助读者更好地理解和应用这些关键概念。