Spring MVC contrôleur de rediriger vers une URL après le login
J'ai un Contrôleur Spring MVC avec des gestionnaires de la sorte:
@RequestMapping(value = "/account/login", method = RequestMethod.GET)
public String login() {
return "login";
}
@RequestMapping(value = "/account/login", method = RequestMethod.POST, params = "login")
public String login(@RequestParam(value = "username") String username,
@RequestParam(value = "password") String password) {
//do authentication
return "home";
}
Le formulaire dans la login.html la page des Postes d'account/login (même url). Je voudrais qu'après l'authentification, je redirige l'utilisateur vers la page d'accueil de mon application, de sorte qu'il voit www.mywebappexample.com
dans la barre d'adresse au lieu de www.mywebappexample.com/account/login
. Quand je retourne la chaîne de caractères à partir de la méthode de login, il rend le html approprié mais je n'ai pas l'URL, je veux vous montrer. Comment puis-je rediriger?
Edit: j'ai du préfixe de mon contrôleur de la Chaîne de retour avec redirect:
. Cela fonctionne si vous avez un affichage de résolution que les sous-classes UrlBasedViewResolver UrlBasedViewResolver. Thymeleaf avis du résolveur de ne pas le faire mais il a le comportement -> ThymeleafViewResolver. Voici mon servlet-context.xml (je suis en utilisant thymeleaf):
<bean id="templateResolver"
class="org.thymeleaf.templateresolver.ServletContextTemplateResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".html"/>
<property name="templateMode" value="HTML5"/>
</bean>
<bean id="templateEngine" class="org.thymeleaf.spring3.SpringTemplateEngine">
<property name="templateResolver" ref="templateResolver"/>
</bean>
<bean id="viewResolver" class="org.thymeleaf.spring3.view.ThymeleafViewResolver">
<property name="templateEngine" ref="templateEngine"/>
<property name="order" value="1"/>
</bean>
OriginalL'auteur Sotirios Delimanolis | 2012-12-28
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser une redirection dans la balise à la place qui devrait mettre à jour l'URL dans la fenêtre du navigateur:
N'avez pas utilisé. Essayez
org.springframework.web.servlet.view.InternalResourceViewResolver
Un peu de jouer avec cela, et cela a fonctionné. Vérifier mes modifications si vous le souhaitez.
+1:
InternalResourceViewResolver
s'étendUrlBasedViewResolver
aussi mais peuvent ne pas avoir toutes les fonctionnalités dont vous avez besoin. 🙂OriginalL'auteur Reimeus
Vérifier si l'authentification a passé avec succès et transmet ensuite la demande à la demande répartiteur
OriginalL'auteur Scoota P