java - Spring在重定向URL中添加参数时绕过该方法并显示缓存内容
问题描述
我对下一个代码有疑问。希望你能帮我:
@RequestMapping(value = "/method1")
public String method1(String userName, ModelMap model, HttpServletRequest request) {
request.getSession().setAttribute("userName" userName);
String redirect = "redirect:/method2";
redirect = redirect + "?success";
return redirect;
}
@RequestMapping(value = "/method2")
public String method2(HttpServletRequest request
ModelMap model, @RequestParam(value = "success", required = false) String success) {
String userName=request.getSession().getAttribute("userName");
System.out.println("userName " + userName); //This doesn't show the second time
return "user";
}
我第一次调用method1
,Username Peter
被method2
调用并且 URL/method2?success
显示了用户的数据Peter
。
然后,如果我再次method1
使用调用,则会显示带有' 数据Username Natalie
的 URL 。也就是说,第二次没有被调用,而是显示了缓存内容。/method2?success
Peter
method2
有任何想法吗?
解决方案
推荐阅读
- java - Java 连接到 oracle 数据库需要很长时间
- css - 有没有办法让 calc 函数与 Sass 中的 * 运算符一起工作?
- python - Django如何显示用户输入的值
- java - 带有 Mongodb 的 log4j2 问题日志记录可抛出消息
- python-3.x - 使用石墨烯,与客户端发送graphql请求时,如何拦截+内省post数据?
- python - 如何在python中进行没有堆栈溢出的递归?
- python - 如何解决以下错误 - TypeError: unsupported operand type(s) for -: 'int' and 'str'
- discord.py - 将用户名设置为参数
- mysql - Knex - MySQL 如何在单个 JavaScript 字符串中执行多个语句?
- php - 如何在 Symfony 4 项目中更改 PHP 版本?