gpt4 book ai didi

java - Spring MVC Controller 在登录后重定向到某个 URL

转载 作者:搜寻专家 更新时间:2023-11-01 02:12:51 24 4
gpt4 key购买 nike

我有一个带有处理程序的 Spring MVC Controller :

@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";
}

login.html 页面中的表单 POST 到 account/login(相同的 url)。我希望在身份验证后将用户重定向到我的应用程序的主页,以便他在地址栏中看到 www.mywebappexample.com 而不是 www.mywebappexample.com/帐户/登录。当我从登录方法返回字符串时,它会呈现正确的 html,但我没有要显示的 URL。如何重定向?

编辑:我必须在我的 Controller 返回字符串前加上redirect:。如果您有一个将 UrlBasedViewResolver 子类化的 View 解析器,这将起作用 UrlBasedViewResolver . Thymeleaf 的 View 解析器不会那样做,但它确实具有 -> ThymeleafViewResolver 的行为。 .这是我的 servlet-context.xml(我使用的是 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>

最佳答案

您可以在标记中使用重定向,而不是更新浏览器窗口中的 URL:

return "redirect:home";

关于java - Spring MVC Controller 在登录后重定向到某个 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14077190/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com