当组件的作用域为会话时,无法将Spring控制器的作用域作为请求

当组件的作用域为会话时,无法将Spring控制器的作用域作为请求,第1张

当组件的作用域为会话时,无法将Spring控制器的作用域作为请求

控制器应在Spring MVC中以应用程序为范围(您不需要显式地将它们作为范围,因为这是默认设置)。

任何请求级别的数据都应使用模型属性来完成:

@ModelAttribute("foo")public Foo createFoo(@RequestParam("bar") int bar) {   return new Foo(bar);}@RequestMapping(...)public ModelAndView baz(HttpServletRequest req, HttpServletResponse response,    @ModelAttribute("foo") Foo foo) {   ...}

Spring将自动创建“ Foo”实例(通过您的“
createFoo”)方法,并将其放入请求范围。然后,通过在映射方法中注释方法参数,它将自动从请求范围中拉出该参数并将其传递给您的方法。

如果要将模型属性存储在会话范围中,请将此注释添加到控制器类中:

@SessionAttributes({"foo"})

这意味着您不应仅在模型属性中(无论是在请求范围内还是在会话范围内)在控制器本身中具有任何状态,而应将该状态注入到映射的方法调用中。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5123277.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-17
下一篇2022-11-17

发表评论

登录后才能评论

评论列表(0条)

    保存