gpt4 book ai didi

java - 如何检查使用@SessionAttributes创建的 session 是否存在(Spring MVC)

转载 作者:行者123 更新时间:2023-11-30 01:57:06 25 4
gpt4 key购买 nike

看一下这段代码:

@Controller
@RequestMapping
@SessionAttributes("address")
public class HomeController {

@RequestMapping("/home")
public String welcome(Model model) {
Address address = new Address();
model.addAttribute("address", address);
return "welcome";
}

}

每次到达网址“/home”时,都会调用 welcome() 方法,创建并添加一个新对象 Address到模型并保存在 session 中,名称为地址

检查 session “地址”是否已存在以避免执行这行代码的最佳方法是什么?

  Address address = new Address();          
model.addAttribute("address", address);

我使用这种方法,但我认为有一种更好、更具体的方法可以使用 Spring 功能来实现它。

@RequestMapping
public String welcome(Model model, HttpServletRequest httpServletRequest) {
Address vecchioAddress = (Address)httpServletRequest.getSession().getAttribute("address");
if(vecchioAddress == null) {
Address address = new Address();
model.addAttribute("address", address);
}

}

谢谢

最佳答案

尝试使用@SessionAttribute用于从 session 中检索现有属性的注释。

@RequestMapping
public String welcome(@SessionAttribute("address") Address address) {
// something....
}

关于java - 如何检查使用@SessionAttributes创建的 session 是否存在(Spring MVC),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54038233/

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