struts2-拦截器(一)

来源:互联网 发布:java两种多态机制 编辑:程序博客网 时间:2024/04/19 01:05

struts2-拦截器(一)

1、这里介绍的action拦截器,后续还会介绍方法拦截器。对于action拦截器,需要继承AbstractInterceptor类,并且重写intercept方法。下面是拦截器的代码:
SimpleInterceptor.java
package com.xueyoucto.random;import com.opensymphony.xwork2.ActionInvocation;import com.opensymphony.xwork2.interceptor.AbstractInterceptor;import java.util.Date;/** * Created by Administrator on 2016/6/19. */public class SimpleInterceptor extends AbstractInterceptor{    private String name;    public void setName(String name) {        this.name = name;    }    @Override    public String intercept(ActionInvocation actionInvocation) throws Exception {        ttAction t = (ttAction)actionInvocation.getAction();        System.out.println(name+"拦截器执行开始" + new Date());        String result= actionInvocation.invoke();        System.out.println(name+"拦截器执行完毕"+ new Date());        return result;    }}
ttAction.java
package com.xueyoucto.random;import com.opensymphony.xwork2.ActionSupport;/** * Created by Administrator on 2016/6/19. */public class ttAction extends ActionSupport {    private String name;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public String execute(){        System.out.println(name);        return ActionSupport.SUCCESS;    }}
Strut2.xml
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC        "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"        "http://struts.apache.org/dtds/struts-2.3.dtd"><struts>    <constant name="struts.enable.DynamicMethodInvocation" value="false"/>    <constant name="struts.devMode" value="true"/>    <package name="xueyoupackage" namespace="/" extends="struts-default">        <interceptors>            <interceptor name="mySimple" class="com.xueyoucto.random.SimpleInterceptor">                <param name="name">简单拦截器</param>            </interceptor>        </interceptors>        <action name="aa">            <result>/WEB-INF/content/aa.jsp</result>        </action>        <action name="bb" class="com.xueyoucto.random.ttAction">            <interceptor-ref name="defaultStack"></interceptor-ref>            <interceptor-ref name="mySimple">                <param name="name">修改简单拦截器名字1</param>            </interceptor-ref>            <result>/WEB-INF/content/bb.jsp</result>            <interceptor-ref name="mySimple">                <param name="name">修改简单拦截器名字2</param>            </interceptor-ref>            <result>/WEB-INF/content/bb.jsp</result>        </action>    </package></struts>
运行结果:



0 0