struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Thomas Lionel SMETS (prof)" <tsm...@a3-system.eu>
Subject Re: Interceptor in various struts.xml
Date Tue, 27 Aug 2013 23:04:09 GMT
So, I found a solution to the issue.
Defining the MDC-interceptor is done like this :
<?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>
    <package name="default" namespace="/" extends="struts-default">
        <interceptors>
            <interceptor name="MDC"
class="be.a3-system.util.MdcLoggingUtility">
            </interceptor>
           
            <interceptor-stack name="MyStack">
                <interceptor-ref name="MDC" ></interceptor-ref>
           
                <interceptor-ref name="params">
                    <param name="acceptParamNames">^[a-zA-Z0-9_]+$</param>
                    <param name="paramNameMaxLength">40</param>
                </interceptor-ref>
               
                <interceptor-ref name="timer" >
                    <param name="logLevel">info</param>
                </interceptor-ref>   
               
                <interceptor-ref name="defaultStack" />
            </interceptor-stack>
        </interceptors>

        <default-interceptor-ref name="MyStack" />
       
        <action name="Hello" class="be.a3-system.action.HelloAction">
            <result name="success">/WEB-INF/Hello.jsp</result>
            <param name="scenario">DEFAULT</param>
        </action>

        <action name="*" class="be.a3-system.action.CatchAllAction">
            <result name="success">/WEB-INF/CatchAll.jsp</result>
        </action>

    </package>
    
    <include file="m1/struts.xml" />
    <include file="m2/struts.xml" />
   
</struts>

But this interceptor is not propagated to the m1/struts.xml & m2/struts.xml.
The interceptor needs to be added to the included files.
With something like this :

<?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>
    <package name="M1" namespace="/m1" extends="struts-default">
        
        <interceptors>
            <interceptor name="MDC"
class="be.a3-system.util.MdcLoggingUtility">
            </interceptor>
           
            <interceptor-stack name="MyM1Stack">
                <interceptor-ref name="MDC" ></interceptor-ref>
           
                <interceptor-ref name="params">
                    <param name="acceptParamNames">^[a-zA-Z0-9_]+$</param>
                    <param name="paramNameMaxLength">40</param>
                </interceptor-ref>
               
                <interceptor-ref name="timer" >
                    <param name="logLevel">info</param>
                </interceptor-ref>   
               
                <interceptor-ref name="defaultStack" />
            </interceptor-stack>
        </interceptors>

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

        <action name="Hello" class="be.a3-system.action.HelloAction">
            <result name="success">/WEB-INF/Hello.jsp</result>
            <param name="scenario">M1</param>
        </action>

        <action name="*" class="be.a3-system.action.CatchAllAction">
            <result name="success">/WEB-INF/CatchAll.jsp</result>
        </action>

    </package>
   
</struts>






\T,



On 27/08/13 13:55, Dave Newton wrote:
> What doesn't work?
>
> Dave
>  On Aug 27, 2013 7:08 AM, "Thomas Lionel SMETS (prof)" <tsmets@a3-system.eu>
> wrote:
>
>> I created my interceptor stack in the top-level struts.xml, like this :
>> <!DOCTYPE struts PUBLIC
>>   "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
>>   "http://struts.apache.org/dtds/struts-2.3.dtd"<http://struts.apache.org/dtds/struts-2.3.dtd>
>> <struts>
>>
>>     <package name="default" namespace="/" extends="struts-default">
>>
>>         <interceptors>
>>             <interceptor name="logging"
>> class="com.mysite.common.MdcLoggingUtility"/>
>>             <interceptor-stack name="MyStack">
>>                 <interceptor-ref name="params">
>>                     <param name="acceptParamNames">^[a-zA-Z0-9_]+$</param>
>>                     <param name="paramNameMaxLength">40</param>
>>                 </interceptor-ref>
>>                 <interceptor-ref name="timer" >
>>                     <param name="logLevel">info</param>
>>                 </interceptor-ref>
>>                 <interceptor-ref name="defaultStack" />
>>             </interceptor-stack>
>>         </interceptors>
>>
>>         <default-interceptor-ref name="MyStack" />
>>
>> ...
>>
>>     <include file="module_1/struts.xml" />
>>     <include file="module_2/struts.xml" />
>> </struts>
>>
>>
>> I have tried different declaration in the submodules but thay all seems to
>> not thoroughly work.
>> So having the same declaration or the same declaration with different name
>> for the interceptor or using "MyStack" in the extends ...
>>
>>
>> Any idea would be appreaciated.
>>
>> Tx,
>>
>>


-- 
Thomas Lionel SMETS, CISSP (385434)
*m :* +32 497 44 68 12
*ph :* +32 2 852 3341
*skype :* thomas.lionel.smets

PGP = FDF0 8FB8 4F37 3F79 1011 05AB 0DCE 9BAB 5DD0 0E10

Mime
View raw message