Frage

Dies scheint, wie es einfach zu tun sein sollte, aber ich kann nur damit es funktioniert. Ich bin auf der Kongress-Plugin in Struts 2.1 süchtig. Allerdings habe ich brauche Paket-Level-Konfiguration wie ein neuen Interceptor Stapel und Ausnahme-Mappings zu definieren. Ich möchte die struts.xml Datei für diesen Einsatz, aber ich kann nicht die Konvention basierte Pakete an die struts.xml Pakete angepasst bekommen. Meine struts.xml sieht aus wie:

<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>

Ich habe meinen Abfangjäger in:
  / Src / my / Paket / Abfangjäger
und meine Handlungen in:
  / Src / my / Paket / Aktionen / myaccount

War es hilfreich?

Lösung

dachte ich es aus. Ich änderte den Namen des Pakets über nur lesen „myaccount“

Dann können Sie entweder fügen Sie diese zu einer einzelnen Aktion Anmerkung:

@ParentPackage(value = "myaccount")

oder alle Aktionen im Paket durch eine package-info.java Datei in das entsprechende Verzeichnis hinzugefügt, die folgende enthält:

@org.apache.struts2.convention.annotation.ParentPackage(value = "myaccount") 

package com.mysite.actions.myaccount;

Hope dies spart jemand anderes etwas Zeit!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top