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

Spring MVC-HttpSession.setAttribute和model.addObject之间的区别

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

Spring MVC-HttpSession.setAttribute和model.addObject之间的区别

首先,

@SessionAttribute
不必使用http会话。它使用
SessionAttributeStore
可以将任何内容作为后备存储的。仅默认实现使用http会话。

您的代码无法按预期工作的原因在于

@SessionAttribute
工作方式。

在调用控制器方法之前

@SessionAttributes
,您需要
{"warenkorb","count"}
从会话中读取中列出的所有内容,并将其添加到模型中。

方法返回后,将使用该方法中 已添加到模型中的所有内容更新会话。

.addObject("count", count)

->计数添加到模型,然后添加到会话。

session.setAttribute("count", count)

-> count添加到会话中,但不添加到模型中。在下一次调用任何控制器方法之前,它将被添加到模型中。但是就目前而言,该模型仍旧

count
。而模型就是添加到请求中的东西。而且,如果可以在请求范围内找到属性,则jsp不会在乎会话中的内容。

当您使用

@SessionAttributes
@ModelAttribute
(或通常使用Spring
MVC)时,请避免使用
HttpSession
HttpRequest
。甚至
HttpResponse
用途有限。拥抱
SpringMVC
而不是美丽:)



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

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

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