一尘不染

会话中的Spring存储对象

spring

我想用Spring实现一个购物车,所以我需要Cart在会话中保存一个对象(该对象具有product,paymentType和deliveryType之类的属性)。我尝试使用bean并将属性“ scope”设置为“ session”来创建它,但是它不起作用,我应该在控制器或Cart类中使用一些其他注释吗?任何示例用法都将非常有帮助:感谢。


阅读 390

收藏
2020-04-19

共1个答案

一尘不染

@Component
@Scope("session")
public class Cart { .. }

接着

@Inject
private Cart cart;

如果在Web上下文(dispatcher-servlet.xml)中进行了声明,则它应该可以工作。另一种选择是使用原始会话并将购物车对象放在此处:

@RequestMapping(..)
public String someControllerMethod(HttpSession session) {
    session.setAttribute(Constants.CART, new Cart());
    ...
    Cart cart = (Cart) session.getAttribute(Constants.CART);
}
2020-04-19