Struts 2 @ResultPath-Anmerkungsbeispiel

Struts 2 @ResultPath-Anmerkungsbeispiel

In Struts 2 wird@ResultPath annotation verwendet, um zu steuern, wo Struts 2 die gespeicherten Ergebnisse oder JSP-Seiten findet. Standardmäßig werden die Ergebnisseiten aus dem Ordner "WEB-INF/content/" gefunden.

Keine Ahnung, warum die Struts 2-Annotation den Ordner "WEB-INF / content /" als Standardordner festgelegt hat, aber die meisten Anwendungen speichern die Ergebnisseiten nicht in diesem Ordner "WEB-INF / content /". Es ist nur eine Struts 2-Konvention, keine Standardordnerstruktur. Ich lege lieber Struts 2 als Standardordner den Root-Pfad an.

Beispiel für @ResultPath

1. Default ResultPath

Eine Anmeldeaktionsklasse, die auf den Namespace "/User" festgelegt und auf die Seiten "pages/login.jsp" umgeleitet wird.

P.S Assume the Struts2Example is your context servlet name

@Namespace("/User")
@Result(name="success",location="pages/login.jsp")
public class LoginAction extends ActionSupport{
}

Darauf zuzugreifen

http://localhost:8080/Struts2Example/User/login.action

Struts 2 findet die Ergebnisseite "login.jsp" vom Standardspeicherort

/Struts2Example/WEB-INF/content/User/pages/login.jsp

2. Benutzerdefinierter Ergebnispfad

Wenn Ihre JSP-Ergebnisseiten an einem anderen Speicherort gespeichert sind, können Sie sie mit der Anmerkung@ResultPathändern.

@Namespace("/User")
@ResultPath(value="/")
@Result(name="success",location="pages/login.jsp")
public class LoginAction extends ActionSupport{
}

Greifen Sie erneut darauf zu

http://localhost:8080/Struts2Example/User/login.action

Jetzt finden die Struts 2 die Ergebnisseite „login.jsp“ von einem anderen Ort

/Struts2Example/User/pages/login.jsp

Globaler @Ergebnispfad

Die@ResultPath gelten nur für die Klassenebene. Um es global anzuwenden, können Sie es in der Datei struts.xml konfigurieren.

struts.xml