自定义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; } }
相关推荐
在JavaServer Faces (JSF)框架中,监听器和转换器是两个重要的组件,它们用于增强用户界面与后台数据处理的交互。在这个项目中,我们深入探讨了如何在JSF中有效地利用这两种机制。 首先,我们要理解JSF监听器的作用...
JSF提供了`javax.faces.event.FacesEvent`和`javax.faces.event.PhaseListener`接口来处理事件。 4. **渲染器实现**: 渲染器负责将组件转换为浏览器可以理解的标记。在JSF中,渲染器类需要实现`javax.faces....
开发者可以使用这些接口来创建自定义组件,实现监听器,以及处理请求和响应。 ### 2. `jsf-ri` `jsf-ri`代表了JSF的参考实现(Reference Implementation)。它是JSF规范的具体实现,提供了所有API接口的实现细节。...
5. **可扩展性**:JSF允许开发者创建自定义组件、渲染器和行为,以满足特定需求。此外,通过提供自定义的PhaseListener,开发者可以扩展JSF的生命周期。 6. **依赖注入**:JSF与Java EE的其他组件,如EJB、CDI...
7. **示例程序**:压缩包中的示例程序可能包括了各种JSF事件处理的实例,如创建自定义事件、编写监听器、注册监听器以及处理各种基本和自定义事件。通过分析和运行这些示例,可以加深对JSF事件处理机制的理解。 在...
例如,JSF中的数据绑定和事件处理机制都与Java的反射和事件监听器机制密切相关。 在JSF中,**组件树** 是一种核心概念,它是页面所有UI组件的逻辑表示。每个组件都有自己的属性和事件,可以通过EL(Expression ...
在LibraryManagementSystem项目中,可能有图书添加、删除或借阅等操作,这些都可以通过监听器来响应用户的操作,执行相应的业务逻辑。 **二、转换器(Converter)** 转换器在JSF中用于将模型对象与用户界面组件之间...
- **PhaseListener**:监听JSF生命周期中的各个阶段,允许自定义行为。 JSF的生命周期包括六步:恢复视图、应用请求值、处理验证、更新模型值、调用后处理和渲染响应。在每个阶段,开发者都可以插入自定义逻辑,以...
7. **监听器**:JSF应用可能会注册监听器来处理特定的事件,例如,`PhaseListener`可以监听JSF生命周期的各个阶段,提供自定义的行为。 通过深入理解并正确配置`web.xml`,开发者能够优化JSF应用的性能和用户体验。...
5. `javax.faces.event.PhaseListener`:监听JSF生命周期的各个阶段,允许自定义行为。 **三、源码分析** 源码分析可以帮助开发者深入理解JSF的工作原理,例如: - `UIViewRoot`类是如何管理组件树的。 - `...
这样,每当JSF进入恢复视图阶段,我们的监听器就会被调用,如果检测到会话超时,就会执行相应的处理逻辑。 在实际应用中,你可能还需要在`sessionExpired.jsp`页面上显示友好的错误消息,提示用户重新登录。此外,...
开发者可以通过实现`PhaseListener`或使用JSF的内置监听器来干预每个阶段。 6. **依赖注入** JSF支持JSR 330标准的依赖注入(DI),如使用`@ManagedBean`和`@Inject`注解创建和注入bean。`javax.faces.bean....
在这个目录下,你可以找到`WEB-INF/web.xml`,它是Web应用的部署描述符,定义了Servlet、过滤器、监听器等组件的配置。还有可能包含JSF的配置文件(如`faces-config.xml`)和其他静态资源(如HTML、CSS、JavaScript...
同时,JSF允许通过自定义组件、监听器和渲染器来扩展其功能,以适应特定项目的需求。 综上所述,《Apress.Pro.JSF.and.Ajax.pdf》这本书涵盖了JSF的基础知识,Ajax的使用技巧,以及如何将两者结合以创建高效、交互...
6. **事件和监听器**:理解JSF中的事件处理机制,如ActionEvent、PhaseListener等,以及如何注册和处理这些事件。 7. **JSF与Ajax**:了解如何使用AJAX功能增强JSF应用的用户体验,如PrimeFaces或RichFaces库的使用...
然后,在Web.xml中注册这个监听器: ```xml <listener-class>com.example.PageLoadListener</listener-class> ``` 这样,`beforePhase`和`afterPhase`方法就会在相应的JSF生命周期阶段被调用,你可以在此处执行...
在JSF框架中,此模式用于动态创建对象,比如在生命周期管理中,LifeCycle接口的实现可能会根据配置使用不同的工厂方法来创建PhaseListener对象,这提供了更大的灵活性和可扩展性。 4. **State模式**: State模式...
3. **事件和监听器** - JSF 1.2 提供了基于事件驱动的机制,允许组件之间通信。`FacesEvent` 类和 `EventListener` 接口定义了事件处理的基本结构。 - `PhaseListener` 允许开发者在生命周期的特定阶段插入自定义...
JSF通过组件、事件和监听器实现MVC模式。 ## 七、JSF和Ajax JSF 2.0引入了对Ajax的支持,允许部分页面刷新,提高了用户体验。通过`<f:ajax>`标签,开发者可以指定需要异步更新的组件,同时可以定义触发Ajax请求的...
6. 事件和监听器:JSF支持事件模型,允许开发者注册监听器来响应特定的用户操作或系统事件。 7. 国际化和本地化:JSF支持多语言环境,可以通过资源库管理不同地区的文本和格式。 8. 综合应用:JSF可以与其他Java ...