Exemple d’annotation @ResultPath Struts 2

Exemple d'annotation Struts 2 @ResultPath

Dans Struts 2,@ResultPath annotation est utilisé pour contrôler où Struts 2 trouvera les résultats stockés ou les pages JSP. Par défaut, il trouvera les pages de résultats du dossier «WEB-INF/content/».

Aucune idée de la raison pour laquelle l'annotation Struts 2 définit le «WEB-INF / content /» comme dossier par défaut, mais la plupart des applications ne placent pas les pages de résultats dans ce dossier «WEB-INF / content /». C’est juste une convention Struts 2 et non une structure de dossiers standard. Je préfère Struts 2 mettre le chemin racine comme dossier par défaut.

Exemple @ResultPath

1. ResultPath par défaut

Une classe d'action de connexion, définie sur l'espace de noms «/User», et redirigée vers les pages «pages/login.jsp».

P.S Assume the Struts2Example is your context servlet name

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

Y accéder

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

Struts 2 trouvera la page de résultats «login.jsp» à partir de l'emplacement par défaut

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

2. ResultPath personnalisé

Si vos pages de résultats JSP sont stockées dans un autre emplacement, vous êtes autorisé à les modifier avec l'annotation@ResultPath.

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

Accéder à nouveau

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

Maintenant, Struts 2 trouvera la page de résultats «login.jsp» à un emplacement différent

/Struts2Example/User/pages/login.jsp

Global @ResultPath

Les@ResultPath ne s'appliquent qu'au niveau de la classe. Pour l'appliquer globalement, vous pouvez le configurer dans le fichier struts.xml.

struts.xml