struts-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Larry Meadors" <>
Subject Re: Question regarding ActionForms.
Date Mon, 01 Dec 2003 15:52:27 GMT
Welcome to java 101, formerly known as the struts-users mailing list.

Object references are passed to method calls. While that reference
cannot be changed, the object that it references can. On the other hand,
if you create a new action form and assign it to the "form" parameter,
nothing will happen because that reference cannot be changed.


>>> 12/01/03 8:42 AM >>>

I am currently using Struts 1.0.2 and have notice something with regard
handling of ActionForms.

Why is it, that in the "perform()" method of my Action I am able to
the passed-in ActionForm and all modifications that I make to the
ActionForm in my Action have effect on the ActionForm in the session,
without the need to reset the modified form in the session. e.g.

public ActionForward peform(ActionMapping mapping,
                            ActionForm form,
                            HttpServletRequest request,
                            HttpServletResponse response,
                            )throws IOException, ServletException

      MyForm myForm = (MyForm)form;


      // why dont I have to do the following: session.setAttribute
("myFormName", myForm);

      return "success";


I thought that since Java passes method arguments by value and not by
reference, then I would have to reset my modifed copy back into the
for changes on the form to be visible in the form in the session ?

Any insights on how this mechanism works would be greatly appreciated.



To unsubscribe, e-mail:
For additional commands, e-mail:

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message