它是一个监听器接口,它可以在Action完成控制处理之后,系统转入实际的物理视图之间被回调
public class LoginRegistAction extends ActionSupport { ... public String execute() throws Exception { ActionInvocation invocation = ActionContext .getContext().getActionInvocation(); invocation.addPreResultListener(new PreResultListener() { public void beforeResult(ActionInvocation invocation, String resultCode) { System.out.println("返回的逻辑视图名字为:" + resultCode); //在返回Result之前加入一个额外的数据。 invocation.getInvocationContext().put("extra" , new java.util.Date() + "由" + resultCode + "逻辑视图名转入"); //也可加入日志等 } }); } ... }
相关推荐
**使用场景与实例:** 通常,我们可以通过实现`struts2PreResultListener`接口来自定义拦截器,以便在Action执行结果返回前进行一些特殊处理。例如,你可能希望在用户尝试访问受限资源时,记录登录状态或安全相关的...
8.使用PreResultListener实现回调 39 六、使用标签 40 1.基础表单标签 40 2.单选按钮和复选框: 41 3.三种方式实现下拉列表 41 4.二级联动 42 5.其它表单标签 44 6.其它常用标签的使用(代码参名为“补充”的文件夹...
3. **testpreresult.rar**:预结果(PreResultListener)是Struts 2中的一种机制,允许在Action执行后但在结果转发之前执行某些操作。这部分可能涉及到预结果监听器的注册、实现及应用场景,比如处理异常或进行最后...
6. **PreResultListener**:介绍了PreResultListener的作用,即在Result执行前进行某些操作。 7. **自定义Result**:讲解了如何创建自定义的Result类型以满足特定的需求。 #### 六、拦截器 1. **拦截器基础**:解释...
10. **PreResultListener**:如果需要在返回Result之前执行某些操作,可以实现PreResultListener接口,这可以在Interceptor或Action中实现。 11. **生成响应**:根据Result对象的信息,生成用户响应。在这个过程中...
此外,Struts2的异常映射、PreResultListener等高级特性也被一一解析。 ### 拦截器与值栈、OGNL 第六章深入探讨了拦截器的概念和使用,包括预定义拦截器和自定义拦截器的创建。第七章则聚焦于值栈和OGNL表达式,这...
如果需要在返回结果之前执行额外的操作,可以通过实现`PreResultListener`接口来实现。 #### 四、结论 通过对Struts2请求处理流程的详细分析,我们可以看到Struts2框架内部设计精妙且结构清晰。从请求进入过滤器链...
拦截器与Servlet中的过滤器虽然在功能上有相似之处,但它们在设计和使用上存在明显的区别。 1. **过滤器 VS 拦截器** - 过滤器是Servlet规范的一部分,主要用于对HTTP请求和响应进行预处理和后处理,比如字符编码...
若需在返回前进行额外操作,可通过实现`PreResultListener`接口在Interceptor中添加逻辑。 4. **线程安全性** Struts2使用ThreadLocal变量来确保线程安全。例如,`Dispatcher`等关键组件通过ThreadLocal保存变量...
例如,`com.opensymphony.xwork2.interceptor.PreResultListener`接口用于在Action执行后进行额外处理。在xwork-2.1.6中,可以查看`DefaultActionInvocation`类,了解如何调用和管理拦截器链。 4. **Command模式的...
public class MyListener implements PreResultListener { @Override public String beforeResult(Invocation invocation, String resultCode) { System.out.println("result=" + resultCode); return ...
通过实现`PreResultListener`接口,可以在Action执行后但结果尚未返回之前执行某些操作,如权限检查、数据预处理等。 #### 十、自定义拦截器属性 在Action的配置中,可以通过`<param>`标签为拦截器传递自定义参数...
Struts2通过预结果监听器(PreResultListener)可以在返回结果前执行额外操作,增强了框架的灵活性。 2. **Spring**: Spring是一个轻量级的Java开发框架,它以IoC(控制反转)和AOP(面向切面编程)为核心。Spring...