准备采用Struts2做日志管理,我的系统框架是S2SH,且用convention实现的零配置。
自定义拦截器后,不知道如何配置对应的action(不能每个action都配置,那样麻烦),然后用通配符尝试了下,不能调用到拦截器。
如下是sturts.xml中的配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 基于convention插件的struts2零配置 -->
<bean type="org.apache.struts2.convention.ActionNameBuilder" name="defualt" class="org.apache.struts2.convention.DefaultActionNameBuilder"/>
<constant name="struts.convention.actionNameBuilder" value="defualt"/>
<constant name="struts.objectFactory" value="spring" />
<constant name="struts.convention.action.mapAllMatches" value="true" />
<constant name="struts.convention.default.parent.package" value="json-default" />
<!-- 配置action搜索的跟目录-->
<constant name="struts.convention.action.packages" value="com.paper.*" />
<!-- 日志拦截器 -->
<package name="website-log" extends="struts-default">
<interceptors>
<interceptor name="log" class="com.paper.util.LogInterceptor" /> <!-- 自定义拦截器 -->
<interceptor-stack name="logStack">
<interceptor-ref name="log" />
<interceptor-ref name="defaultStack" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="logStack" />
<action name="*!*" class="com.paper.{1}.action.{2}Action">
<interceptor-ref name="logStack"></interceptor-ref>
</action>
</package>
<!-- <action name="login" class="com.paper.login.action.UserLoginAction">
<result name="success" type="redirect">jsp/index.jsp</result>
<interceptor-ref name="logStack"></interceptor-ref>
</action>
PS:单独这样调用的时候可以调到拦截器,但name与零配置的形式(action!method)不同,故用了通配符,但不能正常调用拦截器
-->
</struts>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。