Передача Java-объекта из одного действия Struts в другое - PullRequest
2 голосов
/ 16 июня 2010

В одном из моих действий Struts у меня есть следующий код в методе:

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

fw_view приводит к новому действию Struts с другой формой Struts.Допустим, эта форма имеет среди прочего следующее поле

List<Object> listOfObjects;

Теперь я хочу передать retrievedListOfObjects из первого действия Struts в форму следующего действия Struts.

Возможно ли это без сохранения в сеансе?

Ответы [ 2 ]

6 голосов
/ 16 июня 2010

вы можете сохранить его как атрибут запроса.

request.setAttribute("listOfObjects", listOfObjects);

, а затем в действии, которое перенаправляется на

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

Учитывая, что при установке атрибутов запроса вы можете придать им смыслимена, вы должны рассмотреть возможность установки многих атрибутов, а не один большой список объектов.

1 голос
/ 22 июня 2010

Исправление кода krock.

Установка объекта для запроса:

request.setAttribute("listOfObjects", listOfObjects);

Получение объекта в другом действии.

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