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

2 java forms struts action struts-1

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

  ...
  List<Object> retrievedListOfObjects = c.getListOfObjects();
  return mapping.findForward("view");
}
Run Code Online (Sandbox Code Playgroud)

fw_view导致一个新的Struts动作与另一个Struts表单.让我们说这个表格包括以下字段

List<Object> listOfObjects;
Run Code Online (Sandbox Code Playgroud)

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

如果不将它存储在会话中,这可能吗?

kro*_*ock 6

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

request.setAttribute("listOfObjects", listOfObjects);
Run Code Online (Sandbox Code Playgroud)

然后在转发到的Action中

List<Object> listOfObjects = (List<Object>)request.getAttribute("listOfObjects");
Run Code Online (Sandbox Code Playgroud)

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