将Java对象从一个Struts操作传递到另一个

时间:2010-06-16 10:02:44

标签: java forms struts action struts-1

在我的一个Struts动作中,我在方法中得到了以下代码:

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

fw_view导致使用另一个Struts表单的新Struts操作。让我们说这个表格包括以下字段

List<Object> listOfObjects;

我现在想要将第一个Struts操作中的retrievedListOfObjects传递给以下Struts操作的形式。

这可以不将它存储在会话中吗?

2 个答案:

答案 0 :(得分:6)

您可以将其存储为请求属性。

request.setAttribute("listOfObjects", listOfObjects);

然后在转发到

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

鉴于在设置请求属性时您可以为它们指定有意义的名称,您应该考虑设置许多属性,而不是设置一个大的对象列表。

答案 1 :(得分:1)

纠正krock代码。

将对象设置为请求:

request.setAttribute("listOfObjects", listOfObjects);

将对象用于其他操作。

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