2015-04-05 138 views
0
<?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> 
    <!-- methods --> 
    These are other programs code that will use to config something. 
    <constant name="struts.action.excludePattern" value="ws://*"/> 
    <constant name="struts.action.excludePattern" value="servlet"/> 
    <constant name="struts.enable.DynamicMethodInvocation" value="false"/> 
    <constant name="struts.devMode" value="false"/> 
    <constant name="struts.configuration.xml.reload" value="true"/> 
    <constant name="struts.i18n.encoding" value="UTF-8"/> 
    <constant name="struts.custom.i18n.resources" value="message"></constant> 
    <constant name="struts.multipart.maxSize" value="16777216"/> 
    <constant name="struts.objectFactory" value="spring"/> 
    <constant name="struts.ognl.allowStaticMethodAccess" value="true"/> 
    <package name="webDefaultStruts" extends="struts-default">  
    </package> 
    <constant name="struts.convention.default.parent.package" value="default"/> 
    <package name="mobileDefaultStruts" extends="json-default"> 
    <interceptors> 
     <interceptor name="ordinaryUserInterceptor" class="cn.edu.fudan.web.interceptor.OrdinaryUserInterceptor"/> 
     <interceptor-stack name="interceptor_lo"> 
     <interceptor-ref name="ordinaryUserInterceptor" /> 
     <interceptor-ref name="defaultStack" /> 
     </interceptor-stack> 
     </interceptors> 
     <default-interceptor-ref name="interceptor_lo"/> 
     <global-results> 
     <result name="login" type="redirect">login.jsp</result> 
     </global-results>  
     </package> 
     <include file="strutsconfig/web/*.xml"/> 
     <include file="strutsconfig/mobile/*.xml"/> 
     <constant name="struts.multipart.saveDir" value="/tmp"/> 
     </struts> 

这是另一个配置action的struts.xml。这是一个测试拦截器是否有用的示例。Struts2的拦截器不起作用

<action name="countMyFriends" class="FriendAction" method="countMyFriends"> 
    <interceptor-ref name="interceptor_lo"/> 
    <result type="json"> 
     <param name="includeProperties"> 
      result, 
      error 
     </param> 
    </result> 
</action> 

这是我的struts.xml中,我是新的拦截器,我试过很多次,但拦截器不工作,我不知道为什么,请告诉我,是我的错吗?以及如何修改它。

+0

不可能提供帮助信息。 – 2015-04-05 19:38:33

+0

我应该提供哪些其他信息? – 2015-04-06 03:10:00

+0

提供有关您的操作类的详细信息,以及您如何访问应用程序,显示网址 – Chaitanya 2015-04-06 07:22:10

回答

0

您确定要登陆正确的“包裹”吗?您正在配置mobileDefaultStruts,但没有背景信息,并且知道struts(第一次匹配获胜)我可以想象,您最终会在webDefaultStruts ...

+0

但我的操作扩展了mobileDefaultStruts,我没有使用webDefaultStruts,webDefualtStruts如何匹配 – 2015-04-06 03:05:36

+0

两者都没有“namespace”属性,我假设默认为“ /”。当您尝试测试拦截器时,您正在访问哪个网址?请仔细阅读https://struts.apache.org/docs/namespace-configuration.html,特别是https://struts.apache.org /docs/convention-plugin.html。通过“第一场比赛胜利”,我的意思是请求(网址)的映射...... – xerx593 2015-04-06 09:28:45