绿野仙棕

常用链接

统计

hibernate技术

最新评论

事件处理

JSP应用程序是事件驱动型的程序。在JSF中处理事件令人惊奇的简单。以下是处理步骤:

  1. 编写事件监听器。
  2. 在程序目录下的WEB-INF/classes or WEB-INF/lib目录中部署事件监听器。
  3. 在表示组件(其事件被捕获)的标记中,使用Core定制标记库中定义的action_listener或者 valuechange_listener标记。

在JSF中的事件对象。 JSF中的所有事件对象必须提供javax.faces .event.FacesEvent类,以便这些事件被请求处理生命周期支持。FacesEvent类是java.util.EventObject的子类,并添加了getComponent方法,该方法返回引发该事件的UIComponent组件。

FacesEvent类有两个子类:ActionEvent和 ValueChangeEvent。ActionEvent类激活诸如UICommand组件之类的UI组件。

ValueChangeEvent类会发出一个通知,告知本地UIInput组件的值被修改了。然而,如果新值没有被成功地验证为合法的,则不会发出ValueChangeEvent通知。被加入到该类中的两个重要方法是getOldValue 和 getNewValue。getOldValue方法返回引发该事件的组件的旧值。getNewValue方法返回相应的新值。这两种方法的返回值类型都是java .lang.Object。
第三,JSF中的事件监听器。

为捕获一个JSF事件, 需要使用一个事件监听器。JSF程序中的所有监听器都必须实现javax.faces.event.FacesListener接口。该接口提供java.util.EventListener接口,后者是必须由所有Java事件监听器实现的接口。

Faces Listener接口有两个子接口:ActionListener 和 ValueChangeListener。ActionListener接口是为了捕获ActionEvent而必须被实现的接口。该接口添加了一个新的方法--processAction--该方法请求处理生命周期来调用。当为之注册了ActionListener 的ActionEvent发生事件时,就会调用processAction。processAction方法的代码如下:

				
1 public   void  processAction(ActionEvent 
2   event) 
3   throws  AbortProcessingException
4

ValueChangeListener接口是为了捕获ValueChangeEvent而实现的接口。该接口添加了一个方法:processValueChange。当ValueChangeEvent动作被其监听者监听到时,就会调用processValueChange方法。processValueChange方法的代码如下:

				
1 public   void  processValueChange(ValueChangeEvent
2   event) 
3 throws  AbortProcessingException
4
5

posted on 2006-09-28 10:32 土牛小屋 阅读(524) 评论(0)  编辑  收藏 所属分类: jsf技术


只有注册用户登录后才能发表评论。


网站导航: