Mit struts.xml mit Konvention Plugin
-
26-09-2019 - |
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
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!