需求是在JSF中需要对managebean的方法进行拦截,首先jsf本身没找到支持的方式,和spring集成的话,貌似managebean可能用spring来管理,但是这个没找到切却的方式,最好找到使用CDI beans来替代managebean,然后对bean的方法进行拦截。
版本要求:jsf2.2,j2ee6,好像tomcat7才支持cdi,或者weblogic,websphere之类,这些具体还没验证.
代码:
一、bean上原来使用@ManagedBean的地方替换为@Named
对需要拦截的方法加上注解
import javax.inject.Named;
@Named
...
@Interceptors(HelloInterceptor. class)
public void getSomething() {
}
二、实现拦截类
public class HelloInterceptor {
@AroundInvoke
public Object hello(InvocationContext ctx) throws Exception {
System.out.println( "AroundInvoke");
try {
return ctx.proceed();
} catch (Exception e) {
System.out.println( "Error calling ctx.proceed in hello()");
return null;
}
}
}
这样,页面上调用getSomething时,会进去到拦截的方法中,ctx里面可以获取到具体拦截的方法等信息
分享到:
相关推荐
在JSF中,**组件** 是UI的基础元素,如按钮、文本输入框等。这些组件可以通过XML(Facelets)或JSP页面进行声明,并且可以组合成更复杂的视图结构。**Facelets** 是JSF推荐的视图定义语言,它比JSP更强大,更易于...
在《JSF中文教程》的.chm文件中,读者可以深入学习到这些概念,通过实例和示例代码了解如何在实际项目中应用JSF。该教程将帮助初学者快速上手JSF,同时为有经验的开发者提供参考,提升他们的JSF开发技能。
5. **国际化支持**:JSF支持多语言,这在“JSF中文使用教程”中可能包含如何设置和使用中文资源的内容。 **学习JSF的关键概念**: 1. **Facelet**:Facelets是JSF的默认视图技术,用于创建和组织用户界面组件。 2. ...
Managed Beans是JSF中的核心概念,它们作为业务逻辑的载体,可以被JSF框架自动管理。开发者可以定义属性和方法,实现后端逻辑,并通过EL(Expression Language)在视图层与之交互。 **5. EL表达式** EL是一种简洁的...
本教程将深入探讨JSF的核心概念以及如何在JSF应用中传递参数,帮助开发者更好地理解和掌握这一技术。 首先,让我们理解**JSF的基本架构**。JSF的核心组件包括视图、控制器和模型,它们共同构成了MVC(Model-View-...
在IT行业中,JavaScript框架(JSF,JavaServer Faces)是一种广泛应用的用于构建Web应用程序的UI层技术。这篇博文“JSF中文问题解决方法完整版”提供了关于如何处理JSF框架在处理中文字符时可能出现的问题的解决方案...
总的来说,这个压缩包中的资料为学习和掌握Java Web开发,特别是DHTML、JSF和Struts2框架提供了全面的学习资源。通过深入阅读和实践这些教程和手册,开发者可以提升自己的技术水平,更好地应对复杂的Web开发挑战。
标签“jsf”直接指向JSF技术,意味着文档内容可能涉及JSF的使用、教程、最佳实践或者是解决JSF开发中遇到的问题。由于提供的文件内容主要是邮件头信息和HTML格式的元数据,它们并不直接包含JSF的具体知识点。但是,...
总的来说,JSF中文帮助文档涵盖了JSF框架的所有关键概念和技术,包括API详解、生命周期、组件使用、数据绑定、验证、导航等,对于希望在Java Web开发中使用JSF的开发者来说,是极具价值的学习资源。通过阅读和实践,...
在JavaServer Faces (JSF)框架中,实现全选功能通常是通过使用BooleanCheckbox组件来完成的。这篇博客文章“JSF中使用BooleanCheckbox实现全选功能”可能详细讲解了如何利用这种组件在用户界面中创建一个可以勾选的...
在JSF中,UI组件(View)可以直接映射到后端的数据源(Model),并可以通过事件处理(Controller)进行交互。这使得开发者可以更专注于业务逻辑,而无需过多关注底层的HTTP通信细节。 首先,JSF的组件库是其一大...
**Ajax请求的发送**:在JSF页面中,你可以使用Ajax4JSF提供的组件,如`a4j:support`或`a4j:commandButton`,来触发Ajax请求。这些组件可以绑定到特定的事件,当事件发生时,会向服务器发送异步请求。 **决定发送...
3. **JSF的LIB**:JSF的核心库包含了许多内置的组件和实用程序,这些库在JSF应用中是必不可少的。学习这部分,你需要了解如何导入和使用JSF的库,例如`javax.faces.*`和`org.primefaces.*`,以及它们提供的功能,如...
7. **jsf实例**:在实际应用中,JSF实例通常指的是一个运行时的JSF应用程序,它包含了配置、组件、Managed Beans以及它们之间的交互。 在“Login”示例中,我们可能看到以下代码片段: ```xml <!-- login.xhtml --...
在未来的发展中,有可能所有的J2EE应用服务器都需要支持JSF。 Java Server Faces技术好处 引入了基于组件和事件驱动的开发模式,使开发人员可以使用类似于处理传统界面的方式来开发Web应用程序。提供了行为与...
**依赖注入**是JSF中的另一个重要特性,通过JSF容器可以自动将所需的依赖项注入到Managed Beans中,减少了代码的耦合度。 **FacesContext**是JSF的核心对象,它在整个JSF请求处理过程中起到桥梁的作用,连接了视图...
jsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSFjsf实例 JSF学习 JSF jar包 JSF jsf实例 JSF学习 JSF jar包 JSF
在JSF框架中,此模式用于动态创建对象,比如在生命周期管理中,LifeCycle接口的实现可能会根据配置使用不同的工厂方法来创建PhaseListener对象,这提供了更大的灵活性和可扩展性。 4. **State模式**: State模式...
在JavaServer Faces (JSF)框架中,分页是一种常用的技术,用于处理大量数据时提供更好的用户体验。当数据集过大,一次性加载所有记录到页面上会导致性能下降且用户界面响应变慢。通过分页,我们可以将数据分成多个...