如何从jsp向struts2动作类发送对象列表?

时间:2014-03-25 05:09:50

标签: java jsp struts2 form-submit ognl

我是Struts2的新手。我有一个JSP页面,显示了一个Rooms列表(Room是一个用户定义的类)。我需要将整个列表作为隐藏字段发送到操作类。 JSP代码如下:

<form method="GET" action="reporting.action" >  
  <s:hidden name="roomsReport" value="%{allRooms}"/>
  <s:textfield name="roomsR" value="%{allRooms}"/>                       
  <s:submit name="action" style="width:220px;" value="Generate Report for Rooms" /> 
</form>

textfield(用于测试)显示列表的地址(暗示它在jsp页面中不为null) 我仍然无法使用以下代码在我的ReportingAction类中访问它:

System.out.println("xxx"+this.roomsReport.size());
System.out.println(this.roomsReport);

以上两个印刷语句分别给出0和[]。我为roomsReport提供了getter和setter,如下所示:

private List<Room> roomsReport;
public List<Room> getRoomsReport() {
  return roomsReport;
}

public void setRoomsReport(List<Room> roomsReport) {
  this.roomsReport = roomsReport;
}

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

最后,我可以使用session

将列表传递给jsp

列表在jsp中的会话变量中设置如下:

 <s:set name="roomsReport" value="%{allRooms}" scope="session" /> 

在动作类中,我可以使用以下代码访问它:

List<Room> roomsReport = (List<Room>)ActionContext.getContext().getSession().get("roomsReport");