日期:2014-05-20  浏览次数:20652 次

action里定义一个long[]数组,如何把该数组传递到JSP,然后又传回action
在action里定义一个数组private Long[] privilegeIds;如何把该数组传递到JSP页面上(不需要循环遍历),页面处理完其他的业务后把该数组原封不动的传回给action。

其他说明:用的struts2
------最佳解决方案--------------------
struts2 在 Action 中执行完 execute 或指定的 action 方法之后,控制已经走到了 jsp 中,然后直接呈现给客户端了,不会再返回到 action 中,不知道楼主说的 原封不动的返回给 action 是什么意思


------其他解决方案--------------------
那你就放在session里面就好了,反正页面也用不到
------其他解决方案--------------------
request+隐藏控件

Map request = (Map) ActionContext.getContext().get("request");
------其他解决方案--------------------


引用:
那你就放在session里面就好了,反正页面也用不到


不想放session里,action里对应的get/和set方法,直接可以取到,放session里有点多此一举的味道。
------其他解决方案--------------------
你在jsp页面遍历数组得不到数据么?
------其他解决方案--------------------
引用:
struts2 在 Action 中执行完 execute 或指定的 action 方法之后,控制已经走到了 jsp 中,然后直接呈现给客户端了,不会再返回到 action 中,不知道楼主说的 原封不动的返回给 action 是什么意思



这么说吧,传递到JSP页面的数组放在表单里,这个表单又提交到action,就像你修改某一条信息,先查出来显示到页面上,修改完成提交到action更新。明白?

上面的问题说具体点,就是把一个数组当对象传递给JSP页面的隐藏域里,不需进行循环或者其他处理,等我修改完成其他的信息后我要把该数组提交action。
------其他解决方案--------------------
引用:
引用:struts2 在 Action 中执行完 execute 或指定的 action 方法之后,控制已经走到了 jsp 中,然后直接呈现给客户端了,不会再返回到 action 中,不知道楼主说的 原封不动的返回给 action 是什么意思


这么说吧,传递到JSP页面的数组放在表单里,这个表单又提交到action,就像你修改某……

你这个需求是要求客户端和服务器出现两次来回了
第一次通响应客户端的请求,服务端产生你说的数组,放到 hidden 表单域
第二次客户端提交表单数据,同时把数组当作表单域发送给服务湍

如果是这样的话,客户端保存的数组多是要进行转换的