`
xiaojianbo
  • 浏览: 34319 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自定义JSF PhaseListener监听器

阅读更多

自定义JSF PhaseListener,需要实现javax.faces.event.PhaseListener.PhaseListener接口,页面使用可以直接用标签:

<f:phaseListener
   type="org.web.jsf.listener.RegistEditableValueChangePhaseListener">
  </f:phaseListener>



org.web.jsf.listener.RegistEditableValueChangePhaseListener为我的监听类

 

主要代码如下:

/*
 * Copyright (c) 2011-2036 International Air Transport Association corp.
 * All Rights Reserved.
 */
import java.util.Iterator;

import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UIViewRoot;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
import javax.faces.event.PhaseId;
import javax.faces.event.PhaseListener;


/**
 * Regist the Editable Value Changed.
 * 
 * @author Xiao Jianbo, 2012-10-17
 */
public class RegistEditableValueChangePhaseListener implements PhaseListener {

    private static final long serialVersionUID = 1L;

    /**
     * process after phase event.
     * 
     * @param event - Phase Event
     */
    @Override
    public void afterPhase(PhaseEvent event) {
        FacesContext context = event.getFacesContext();
        boolean postback = context.getRenderKit().getResponseStateManager().isPostback(context);
        if (!postback) {
        }
    }


    @Override
    public void beforePhase(PhaseEvent event) {

    }

    @Override
    public PhaseId getPhaseId() {
       //监听的阶段
        return PhaseId.RENDER_RESPONSE;
    }

 }

 

分享到:
评论

相关推荐

    jsf中监听器与转换器的使用

    在JavaServer Faces (JSF)框架中,监听器和转换器是两个重要的组件,它们用于增强用户界面与后台数据处理的交互。在这个项目中,我们深入探讨了如何在JSF中有效地利用这两种机制。 首先,我们要理解JSF监听器的作用...

    JSF2.0实战 - 4、自定义组件

    JSF提供了`javax.faces.event.FacesEvent`和`javax.faces.event.PhaseListener`接口来处理事件。 4. **渲染器实现**: 渲染器负责将组件转换为浏览器可以理解的标记。在JSF中,渲染器类需要实现`javax.faces....

    jsf1.2 source code

    开发者可以使用这些接口来创建自定义组件,实现监听器,以及处理请求和响应。 ### 2. `jsf-ri` `jsf-ri`代表了JSF的参考实现(Reference Implementation)。它是JSF规范的具体实现,提供了所有API接口的实现细节。...

    jsf完全参考手册源代码

    5. **可扩展性**:JSF允许开发者创建自定义组件、渲染器和行为,以满足特定需求。此外,通过提供自定义的PhaseListener,开发者可以扩展JSF的生命周期。 6. **依赖注入**:JSF与Java EE的其他组件,如EJB、CDI...

    第8章 JSF事件处理(熊)课件及示例程序

    7. **示例程序**:压缩包中的示例程序可能包括了各种JSF事件处理的实例,如创建自定义事件、编写监听器、注册监听器以及处理各种基本和自定义事件。通过分析和运行这些示例,可以加深对JSF事件处理机制的理解。 在...

    jsf 中文帮助文档

    例如,JSF中的数据绑定和事件处理机制都与Java的反射和事件监听器机制密切相关。 在JSF中,**组件树** 是一种核心概念,它是页面所有UI组件的逻辑表示。每个组件都有自己的属性和事件,可以通过EL(Expression ...

    JSF框架使用示例.rar_JSF

    在LibraryManagementSystem项目中,可能有图书添加、删除或借阅等操作,这些都可以通过监听器来响应用户的操作,执行相应的业务逻辑。 **二、转换器(Converter)** 转换器在JSF中用于将模型对象与用户界面组件之间...

    jsf api 文档

    - **PhaseListener**:监听JSF生命周期中的各个阶段,允许自定义行为。 JSF的生命周期包括六步:恢复视图、应用请求值、处理验证、更新模型值、调用后处理和渲染响应。在每个阶段,开发者都可以插入自定义逻辑,以...

    JSF日记

    7. **监听器**:JSF应用可能会注册监听器来处理特定的事件,例如,`PhaseListener`可以监听JSF生命周期的各个阶段,提供自定义的行为。 通过深入理解并正确配置`web.xml`,开发者能够优化JSF应用的性能和用户体验。...

    jsf 2.0(jar+源码+api+新特性示例)

    5. `javax.faces.event.PhaseListener`:监听JSF生命周期的各个阶段,允许自定义行为。 **三、源码分析** 源码分析可以帮助开发者深入理解JSF的工作原理,例如: - `UIViewRoot`类是如何管理组件树的。 - `...

    JSF如何监测和处理session超时

    这样,每当JSF进入恢复视图阶段,我们的监听器就会被调用,如果检测到会话超时,就会执行相应的处理逻辑。 在实际应用中,你可能还需要在`sessionExpired.jsp`页面上显示友好的错误消息,提示用户重新登录。此外,...

    jsf api

    开发者可以通过实现`PhaseListener`或使用JSF的内置监听器来干预每个阶段。 6. **依赖注入** JSF支持JSR 330标准的依赖注入(DI),如使用`@ManagedBean`和`@Inject`注解创建和注入bean。`javax.faces.bean....

    jsf-demo练兵

    在这个目录下,你可以找到`WEB-INF/web.xml`,它是Web应用的部署描述符,定义了Servlet、过滤器、监听器等组件的配置。还有可能包含JSF的配置文件(如`faces-config.xml`)和其他静态资源(如HTML、CSS、JavaScript...

    Apress.Pro.JSF.and.Ajax.pdf

    同时,JSF允许通过自定义组件、监听器和渲染器来扩展其功能,以适应特定项目的需求。 综上所述,《Apress.Pro.JSF.and.Ajax.pdf》这本书涵盖了JSF的基础知识,Ajax的使用技巧,以及如何将两者结合以创建高效、交互...

    jsf 电子书合集(来源于网络)

    6. **事件和监听器**:理解JSF中的事件处理机制,如ActionEvent、PhaseListener等,以及如何注册和处理这些事件。 7. **JSF与Ajax**:了解如何使用AJAX功能增强JSF应用的用户体验,如PrimeFaces或RichFaces库的使用...

    JSF2.0实战 - 1-3、Hello World,AJAX体验,onPageLoad

    然后,在Web.xml中注册这个监听器: ```xml &lt;listener-class&gt;com.example.PageLoadListener&lt;/listener-class&gt; ``` 这样,`beforePhase`和`afterPhase`方法就会在相应的JSF生命周期阶段被调用,你可以在此处执行...

    JSF框架中使用的设计模式介绍

    在JSF框架中,此模式用于动态创建对象,比如在生命周期管理中,LifeCycle接口的实现可能会根据配置使用不同的工厂方法来创建PhaseListener对象,这提供了更大的灵活性和可扩展性。 4. **State模式**: State模式...

    jsf1.2_src

    3. **事件和监听器** - JSF 1.2 提供了基于事件驱动的机制,允许组件之间通信。`FacesEvent` 类和 `EventListener` 接口定义了事件处理的基本结构。 - `PhaseListener` 允许开发者在生命周期的特定阶段插入自定义...

    JSF教程

    JSF通过组件、事件和监听器实现MVC模式。 ## 七、JSF和Ajax JSF 2.0引入了对Ajax的支持,允许部分页面刷新,提高了用户体验。通过`&lt;f:ajax&gt;`标签,开发者可以指定需要异步更新的组件,同时可以定义触发Ajax请求的...

    JSF帮助文档

    6. 事件和监听器:JSF支持事件模型,允许开发者注册监听器来响应特定的用户操作或系统事件。 7. 国际化和本地化:JSF支持多语言环境,可以通过资源库管理不同地区的文本和格式。 8. 综合应用:JSF可以与其他Java ...

Global site tag (gtag.js) - Google Analytics