2010-06-12 10 views
1

Cela semble être facile à faire, mais je peux juste le faire fonctionner. Je suis accro au plugin de la convention dans Struts 2.1. Cependant, j'ai besoin de définir une configuration au niveau du paquet, comme une nouvelle pile d'intercepteurs et des mappages d'exceptions. Je voudrais utiliser le fichier struts.xml pour cela, mais je ne peux pas obtenir les paquets conventionnels correspondant aux paquets struts.xml. Mon struts.xml ressemble:Utilisation de struts.xml avec le plugin de convention

<struts> 
<constant name="struts.convention.default.parent.package" value="default"/> 
<package name="default" extends="struts-default"> 
</package> 
<package name="root" namespace="/" extends="struts-default"> 
    <action name="index"> 
     <result>/index.jsp</result> 
    </action> 
</package> 

<package name="my.package.actions.myaccount" namespace="/myaccount" extends="struts-default"> 
<interceptors> 
    <interceptor name="authenticationInterceptor" class="my.package.interceptors.AuthenticationInterceptor"/> 
    <interceptor-stack name="secureStack"> 
     <interceptor-ref name="authenticationInterceptor"/> 
     <interceptor-ref name="defaultStack"/> 
    </interceptor-stack> 
</interceptors> 

    <default-interceptor-ref name="secureStack"/> 
</package> 
</struts> 

J'ai mon intercepteur dans:
/src/mes/paquet/intercepteurs
et mes actions dans:
/src/mes/paquet/actions/myaccount

Répondre

6

Je l'ai compris. J'ai changé le nom du package ci-dessus pour lire juste « myaccount »

Ensuite, vous pouvez ajouter ceci à une action individuelle par l'annotation:

@ParentPackage(value = "myaccount") 

Ou à toutes les actions dans le paquet en ajoutant un package- Fichier info.java dans le répertoire approprié qui comprend les éléments suivants:

Espérons que cela sauve quelqu'un d'autre!