繁体   English   中英

Spring MVC - 使用路径变量编辑响应URL

[英]Spring MVC - Edit the response URL with path variables

我将使用StackOverflow的用户配置文件页面作为示例。 假设我们有这个网址:

https://stackoverflow.com/users/2036414/userlogin

如果我们更改(在浏览器的url栏中编辑)最后一个路径变量,如下所示:

https://stackoverflow.com/users/2036414/aWordThatIsNotTheLoginOfThisUser

...并按Enter键,返回的URL将是第一个,这意味着此变量被设置为正确的登录,基于另一个变量,可能是用户的id(2036414)。 换句话说,URL被更正为:

https://stackoverflow.com/users/2036414/userlogin

我的问题是:如何使用Spring MVC做到这一点? 这是我的控制器:

@RequestMapping(value="/{id}/{login}", method = RequestMethod.GET)
public String showPerfilUsuario(@PathVariable("id") long id, @PathVariable("login") String login, Map<String, Object> model){
    Usuario usuario = usuarioService.buscarUsuarioPorId(id);
    model.put("usuario", usuario);
    return "usuario"; //that's the tiles definition's name
}

任何帮助都会被贬低,谢谢。

Stackoverflow可能正在做一些奇特的URL重写 一种简单的方法是发送重定向。 让您的处理程序方法获取用户ID并检查它是否与用户名字符串匹配。 如果没有 ,则发送重定向

return "redirect:/users/" + id + "/" + correctUserName;

这将向浏览器发送302响应。 浏览器将向构造的地址发送新的HTTP请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM