SSH零配置下Struts2拦截器配置问题
准备采用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>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
各有各的好处吧,项目需要。关键是我的问题应该怎么破?
用struts了,还用什么spring....