2016-07-14 39 views
3

Ich habe seit Stunden Web gesucht, und ich kann keine Antwort auf eine einfache Frage in Struts 2 finden. Grundsätzlich habe ich die folgende Aktion in Struts 1, die eine einfache Weiterleitung ist, und ich möchte das gleiche in Struts reproduzieren 2:Wie mache ich eine einfache Weiterleitung in Struts 2?

<action path="/az/api/v22/my-tenants" forward="/components/c/apis/v22/my-tenants.jsp"> 
     </action> 

ich konnte eine Action-Klasse zu tun, dies zu schreiben, aber ich denke, Struts2, ohne dass irgendeine Art und Weise, dies zu tun haben, hat eine Action-Klasse zu schreiben, da es sich um eine einfache Umleitung ist.

+0

Was möchten Sie damit erreichen? –

Antwort

2

erstellen handlungslos Ergebnis im struts.xml

struts.xml:

<package name="v22" namespace="/az/api/v22" extends="struts-default"> 
    <action name="my-tenants"> 
     <result>/components/c/apis/v22/my-tenants.jsp</result> 
    </action> 
</package> 

Diese Konfiguration definiert ein Paket mit Namespace /az/api/v22 und Aktionsnamen my-tenants. Wenn Sie also den Pfad /az/api/v22/my-tenants verwenden, wird dieser der obigen action-Konfiguration zugeordnet, da der Standard-Action-Mapper den Namespace und den Aktionsnamen zusammen verwendet, um die Aktionskonfiguration zu erhalten.

Im Action-Tag gibt es kein class-Attribut. Stattdessen wird die Klasse ActionSupport verwendet. Diese Klasse ist standardmäßig im Paket struts-default konfiguriert.

Im Ergebnis ist es ausreichend, die Position der JSP, zu definieren, da struts2 Standardwerte einen Dispatcher verwenden, die JSP weiterleitet, und es wird unter Verwendung von "success" Ergebniscode standardmäßig im Ergebnis Config die standardmäßig durch ActionSupport Klasse zurückgegeben wird.

+0

Dies kann ohne Verwendung des Namespace-Attributs des Pakets erfolgen. Das Problem ist, dass ein Paket in Struts2 bereits erstellt wurde, dass diese Aufrufe Teil davon sein werden. Ich habe also keine Kontrolle über den Namespace des Pakets. –

+0

Ohne Namespace-Attribut fehlt Ihnen ein Teil, der vor dem Aktionsnamen hinzugefügt werden sollte. –