Issue
I would like to implement a shopping cart with Spring, so I need to save an object Cart
( which has attributes like products, paymentType and deliveryType ) in session. I've tried to create it with bean and attribute "scope" set to "session", but it just doesn't work, should I use some additional annotations in my controller or Cart
class? Any example usage would be really helpful :-) Thanks in advance.
Solution
@Component
@Scope("session")
public class Cart { .. }
and then
@Inject
private Cart cart;
should work, if it is declared in the web context (dispatcher-servlet.xml). An alternative option is to use the raw session and put your cart object there:
@RequestMapping(..)
public String someControllerMethod(HttpSession session) {
session.setAttribute(Constants.CART, new Cart());
...
Cart cart = (Cart) session.getAttribute(Constants.CART);
}
Answered By - Bozho
Answer Checked By - Candace Johnson (JavaFixing Volunteer)