views:

189

answers:

2

Hello!

In one of my Struts action I've got the following code in a method:

  ...
  List<Object> retrievedListOfObjects = c.getListOfObjects();
  return mapping.findForward("fw_view");
}

fw_view leads to a new Struts action with another Struts form. Let's say this form has got among others the following field

List<Object> listOfObjects;

I now want to pass the retrievedListOfObjects from within the first Struts action to the form of the following Struts action.

Is this possible without storing it in the session?

+3  A: 

Hi, you can store it as a request attribute.

request.setAttribute("listOfObjects", listOfObjects);

and then in the Action that is forwarded to

List<Object> listOfObjects = (List<Object>)request.getAttribute("listOfObjects");

Given that when setting request attributes you can give them meaningful names, you should consider setting many attributes rather than setting one big list of objects.

krock
+2  A: 

Correction of krock code.

Setting object to request:

request.setAttribute("listOfObjects", listOfObjects);

Getting the object in an other action.

List<Object> listOfObjects = (List<Object>)request.getAttribute("listOfObjects");
Fred
thanks @Fred, I fixed up the getter which I obviously cut and pasted from the setter code.
krock