我使用了 Spring MVC。我将会话属性值设置为
@RequestMapping(value = "/home", method = RequestMethod.GET)
public String initHome(Model model) {
if (!model.containsAttribute("clientObject")) {
model.addAttribute("clientObject", createDefaultClient());
}
return "homeMenu";
}
如果我单击主菜单 url(/home),它工作正常。但如果我没有回家意味着它会说错误,因为“需要会话属性 clientObject”
所以我决定在控制器的构造函数中设置会话属性
@Autowired
public MyController(Model model) {
if (!model.containsAttribute("clientObject")) {
model.addAttribute("clientObject", createDefaultClient());
}
}
它还说错误
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'myController
'
我尝试使用 RequestMapping 设置也喜欢
@RequestMapping(value = "/", method = RequestMethod.GET)
public void initController(Model model) {
if (!model.containsAttribute("clientObject")) {
model.addAttribute("clientObject", createDefaultClient());
}
}
这个方法最初也没有被调用,我的 cointroller 看起来像
@RequestMapping("/sample")
public class MyController {
..
..
是否可以在控制器的构造函数中设置 sessionAttribute 值?或任何其他方式来设置会话属性最初?
在此先感谢您的帮助。