JSF的事件

JSF的事件驱动模式遵循Java事件驱动模式的一般原理,也由事件类、监听器接口、监听器以及事件源组成。JSF的某些组件是某些事件的事件源,例如JSF的按钮组件是JSF的Action事件的事件源,JSF应用中的其他类,可以实现特定事件类的监听器接口成为该类事件的监听器,并通过注册来获得事件的通知。

介绍JSF的事件类、监听器接口、事件源和事件队列,并说明在JSF中如何编写监听器、注册监听器以及产生和排队事件。

1 JSF事件类

JSF是Java Web应用的表示层框架。站在事件分类的角度,这句话有两层含义:
第一,JSF应用是Web应用,因此,JSF必然包含与HTTP请求处理有关的事件类。由于JSF将HTTP请求的处理过程划分为若干个阶段,并称之为请求处理生命周期,因此,在JSF中,这类与HTTP请求处理有关的事件被称为请求处理阶段事件,简称阶段事件。阶段事件对应的事件类是javax.faces.event.PhaseEvent。
第二,JSF是表示层框架,因此,JSF必然包含与构成表示层的UI组件有关的事件类,这类事件,总称为Faces事件,对应的事件类是javax.faces.event.FacesEvent。按照UI组件的不同功能,Faces事件进一步被划分为两类。一类由动作类UI组件触发,称为ActionEvent即动作事件,相应的事件类是javax.faces.event.ActionEvent;另一类由输入类UI组件触发,称为ValueChangeEvent,即值改变事件,相应的事件类是javax.faces.event.ValueChangeEvent。

上述所有事件类,均继承自Java的事件基类java.util.EventObject
事件基类EventObject ------>PhaseEvent/FacesEvent   FacesEvent-->ActionEvent/ValueChangeEvent
可见,JSF共有四类事件,即:
阶段事件类   PhaseEvent
Faces事件类  FacesEvent<抽象类>
动作事件类   ActionEvent
值改变事件类 ValueChangeEvent

Faces事件类是一个抽象类,作为动作事件类和值改变事件类的基类,在实际应用中不可实例化,因此,需要关注的JSF事件类只有三种:
PhaseEvent,ActionEvent,ValueChangeEvent
对应监听器为:
PhaseListener,ActionListener,ValueChangeListener

监听器在JSF编程中占有重要地位,可以完成很多功能,例如:
检查并改变UI组件的值;
动态添加或删除UI组件;
调用业务逻辑方法;
在页面上显示消息;
人为触发某种事件;
重定向页面。

转载于:https://my.oschina.net/zhaoqian/blog/186888

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值