将完整对象从JSP发送到action类

时间:2013-09-30 05:29:32

标签: java jsp struts2 ognl

如果假设,我的JSP页面上有List类型Schedule。我遍历它并希望将列表的特定对象发送到动作类。使用Struts 2可以做到这一点吗?我所探讨的是,我可以将对象的标识符变量的值发送到action类,然后在那里获取与之对应的行。

<s:form action="FlightAction">
<s:iterator value="schedulelist" var="flight">
    <s:if test="#flight.sid==10">
        <s:hidden name="object" value="#flight"/>
    </s:if>
</s:iterator>
        <s:submit value="Send"/>
</s:form>

现在我想要的是当SID的值为10时,整个Schedule对象被发送到action类。 schedulelist是指包含Schedule类型对象的列表。 SID是Schedule POJO的标识符变量。是否可以在Struts 2中以这种方式发送完整的对象?

2 个答案:

答案 0 :(得分:0)

将要发送的“Schedule”对象放入请求范围中的action类,然后可以在action类中访问它。

<s:set name="scheduleObj" value="%{scheduleList.get(2)}" scope="request" />

上面的例子将3'rd对象放入scheduleObj请求变量。

答案 1 :(得分:0)

使用时

<s:hidden name="object.sid" value="%{#flight.sid}"/>

然后,您就可以将操作的值发送到您必须创建的object类型的Schedule并提供getObject(), setSid()方法。

如果要填充Schedule类型的对象集合,则需要使用索引。

<s:hidden name="object[%{#status.index}].sid" value="%{#flight.sid}"/>

阅读Struts Type Conversion: Collections and Map support