PreResultListener攔截器是在action方法執行後,返回result以前執行的攔截器。java
- package com.struts2.interceptor;
- import com.opensymphony.xwork2.ActionSupport;
- public class MyAction extends ActionSupport {
-
-
-
- private static final long serialVersionUID = 1L;
- @Override
- public String execute() throws Exception {
- System.out.println("execute方法");
- return SUCCESS ;
- }
-
- }
一個簡單例子,打印簡單的一句話,加上一個簡單的攔截器app
- package com.struts2.interceptor;
- import com.opensymphony.xwork2.ActionInvocation;
- import com.opensymphony.xwork2.interceptor.AbstractInterceptor;
- public class MyInterceptor extends AbstractInterceptor {
-
-
-
- private static final long serialVersionUID = 1L;
- @Override
- public String intercept(ActionInvocation invo) throws Exception {
-
- invo.addPreResultListener(new PreInter()) ;
- System.out.println("攔截器前執行");
-
- String result = invo.invoke() ;
-
- System.out.println("攔截器後執行");
-
- return result ;
- }
- }
加上preResult攔截器:ide
- package com.struts2.interceptor;
- import com.opensymphony.xwork2.ActionInvocation;
- public class PreInter implements PreResultListener {
- public void beforeResult(ActionInvocation arg0, String arg1) {
- System.out.println("結果集返回前執行");
- }
- }
運行結果:oop
攔截器前執行
execute方法
結果集返回前執行
攔截器後執行url