2017-10-25 3 views
0

Ich bin auf einer struts2 Anwendung arbeiten, und ich habe 4 Maßnahmen im Zusammenhang. Wenn ich die erste "EditMagazineAction" anrufe, möchte ich manchmal zu "EditBooksAction" umgeleitet werden.
Ich möchte diese Umleitung, wenn ich von "ValidateBooksAction" komme. Also habe ich in der Sitzung den Wert meiner Herkunft gespeichert, und ich rufe EditMagazineAction auf, um eine Methode vorzubereiten, die überprüft, ob ich in dieser Aktion bleiben oder zu "EditBooksAction" wechseln möchte. Wenn ich nur auf diese umleiten möchte ("EditBooksAction"), führe ich nichts anderes auf die Preparate-Methode von "EditMagazineAction" aus, aber wenn ich bleiben will, mache ich weiter mit der Vorbereitung. Das funktioniert für mich, aber mir wurde gesagt, dass das nicht "wirklich richtig" ist. Wie schlimm ist das? In diesem Projekt, das ich keine wirkliche Umleitung bekommen kann, kann ich gehen nicht direkt auf „EditBooksAction“, also muss ich über „EditMagazineAction“ gehen.Struts2 vorbereiten Methode

+0

Es kann nützlich sein, Ihr Problem in dem Code, um zu sehen, denke ich –

+0

Ich glaube (nicht vorbereitet) für die Umleitung zu verstehen ist. Können Sie für die beiden Orte, über die Sie sprechen, keine anderen Zeichenfolgenwerte haben und sie auf zwei verschiedene Methoden umleiten lassen? – Yash

Antwort

0

Sie können redirect action result verwenden wie unten

<package name="public" extends="struts-default"> 
    <action name="action1" class="..."> 
     <result name="redirect1" type="redirectAction"> 
      <param name="actionName">action2</param> 
     </result> 
     <result name="no_redirect">my.jsp</result> 
     <result name="redirect2" type="redirectAction"> 
      <param name="actionName">action3</param> 
     </result> 
    </action> 
</package> 

dann in Ihrer Aktion Rückkehr redirect1, no_redirect oder redirect2.