> -----Original Message----- > From: Simon MARTIN [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 07, 2004 11:47 AM > To: [EMAIL PROTECTED] > Subject: Best practice question: Properties (ShoppingCart) per user > > > Hi, > > I'm currently writing a short Struts application without a > database (I know that > this would be better, but as it is only for teaching > purposes, I don't want to > 'overflow' my audience with databases and ORM). > It should be a small online sales system -- I've got ShoppingItems, > ShoppingUsers (which are not yet used) and ShoppingCarts. > > I want a ShoppingCart which stores the ordered items per > user. I had something > like this: > > public class ShoppingCartAction extends DispatchAction { > private ShoppingCartManager shoppingCartManager; > ... > > public ActionForward order(...) > ... > > public ActionForward list(...) > ... > } > > and thought that it would work. Unfortunately, each user > (which is not > authenticated or anything yet) gets the same shopping cart > when he calls > shoppingCart.do?method=list.
That's because you're violating one of the cardinal rules of servlet programming... your using a class property. Don't do that. > > So I did some research and found this: http://www.jguru.com/faq/view.jsp?EID=1057609 So I created an ShoppingCartMapping class public class ShoppingCartMapping extends ActionMapping { private ShoppingCartManager shoppingCartManager; ... } and call it like this public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { request.setAttribute("orderedItems", ((ShoppingCartMapping)mapping).getShoppingCartManager().getItems()); return mapping.findForward("list"); } which gives me a ClassCastException. Do I have to set my custom ActionMapping in web.xml or struts-config.xml? Am I on the right way, or is there a better way of doing this? Thanks in advande and kind regards, Simon PS: Please cc me in your answers. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]