您的位置:首页 > 编程语言 > Java开发

struts2 的拦截器的应用

2007-04-23 11:43 387 查看
和webwork得差不多,首先写拦截器配置文件:xwork-losbgm-default.xml


<?xml version="1.0" encoding="UTF-8"?>


<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.1.1//EN"


"http://www.opensymphony.com/xwork/xwork-1.1.1.dtd">


<xwork>


<include file="struts-default.xml" />


<package name="xwork-losbgm-default" extends="struts-default">


<interceptors>


<interceptor name="employeeAccessInterceptor"


class="tool.UserAccessInterceptor">


</interceptor>


<interceptor-stack name="losbgmStack">


<interceptor-ref name="employeeAccessInterceptor"></interceptor-ref>


<interceptor-ref name="defaultStack" />


</interceptor-stack>


</interceptors>


<default-interceptor-ref name="losbgmStack"></default-interceptor-ref>


<global-results>


<result name="error">/error.jsp</result>


<result name="index">/index.jsp</result>


</global-results>


</package>


</xwork>



在写一个拦截器类:UserAccessInterceptor.java


//Source file: F:/java/Oil/src/com/xj/tools/UserAccessInterceptor.java




package tool;




import com.opensymphony.xwork2.ActionInvocation;


import com.opensymphony.xwork2.interceptor.AbstractInterceptor;






public class UserAccessInterceptor extends AbstractInterceptor ...{




@Override




public void destroy() ...{


// TODO Auto-generated method stub


super.destroy();


}




@Override




public void init() ...{


// TODO Auto-generated method stub


super.init();


}




@Override




public String intercept(ActionInvocation arg0) throws Exception ...{


// TODO Auto-generated method stub




return "error";


}






}



再要实现拦截器的配置文件中先倒入文件再继承包就可以了:


<?xml version="1.0" encoding="UTF-8" ?>


<!DOCTYPE struts PUBLIC


"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"


"http://struts.apache.org/dtds/struts-2.0.dtd">




<struts>


<include file="struts-default.xml"></include>


<include file="xwork-losbgm-default.xml"></include>


<package name="login" namespace="/" extends="xwork-losbgm-default">


<action name="login" class="action.LoginAction">


<result name="success">/index.jsp</result>


</action>


<action name="main">


<result>/main.jsp</result>


</action>


<action name="Register">


<result>/index.jsp</result>


</action>


<action name="*">


<result>/{1}.jsp</result>


</action>


</package>


</struts>

===================================================================================

struts2中的拦截器如何配置在action前后都执行呢?




public String intercept(ActionInvocation invocation) ...{


//do some job before invocation


//...


String result = invocation.invoke();


//do some job after invocation


//...


return result;


}



==============================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: