【问题标题】:Get and set attributes in session - Spring framework在会话中获取和设置属性 - Spring 框架
【发布时间】:2019-03-29 01:19:12
【问题描述】:

我正在使用 Spring 框架。好吧,在程序的某些部分,我像这样在会话中存储一个属性

req.setAttribute("learnerGroup", form.getGroup(), WebRequest.SCOPE_SESSION); // save the object/String in session 

其中 req 的类型为 - WebRequest

在程序的另一部分我有 HttpServletRequest hreq

问题

1) 保存Objects 的正确方法是会话,就像我在上面使用WebRequest 所做的那样?

2)如何使用HttpServletRequest从会话中检索保存的Object

【问题讨论】:

标签: java spring session spring-mvc


【解决方案1】:
  1. 是的,这确实会将对象保存在名为"learnerGroup" 的会话属性中。

  2. 使用request.getSession().getAttribute("learnerGroup")

【讨论】:

  • 反之亦然?即当使用HttpServletRequest.setAttribute(); 设置时,从WebRequest 对象到getAttribute。请相应地更新您的答案。谢谢
  • 我想说我喜欢HttpServletRequest.getSession().setAttribute("abc","abcdef");是对的。那么我可以检索像WebRequest().getAttribute("abc"); 这样的会话属性吗?我想现在它更清楚了。谢谢
  • 在 WebRequest 中没有方法 getAttribute() 只接受一个字符串作为参数。阅读 API 文档。
  • 有一个名为getAttribute()的方法……它继承自org.springframework.web.context.request.RequestAttributes
【解决方案2】:

会话对象属性是最终的,因此您可能无法更新它们。 但你可以试试这个:执行getAttribute(),将其保存在某处,然后setAttribute()

会话不会被更改或更新,它们旨在被创建和失效。 也许这就是原因,我们那里没有更新属性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-18
    • 2012-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    相关资源
    最近更新 更多