I am using a JSP bean and when I do an assignment to a new object, it gets over-written on a submit to the previous object.
<jsp:useBean id='base' class='com.example.StandardBase' scope='session' /> ... //base object id = 396 base = new Base() //base object id = 1000
and on a resubmit of the page I get
<jsp:useBean id='base' class='com.example.StandardBase' scope='session' /> //base object id = 396
Is there a way to tell JSP to do a new assignment?
I’m not completely sure, but I think
base = new Base()does not update the reference stored in the session scope. Therefore, the bean you created with the initial<jsp:useBean/>is still around while the one you create manually, and then updated, isn’t.Get rid of
base = new Base()and you should be fine.If you insist upon updating it, you use
HttpSession.setAttribute(). Like so:I believe the variable
sessionis automatically created and initialized for you by the JSP engine.