栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

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

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当组件的作用域为会话时,无法将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"})

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



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/435578.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号