日期:2014-05-17  浏览次数:20776 次

急!!!如何再利用页面上list数据,完成其他任务
先查询了学生表(姓名,性别,学号、入学时间),课程表(科目,代号)等多张表,得到了students数据类型是List
然后在student.jsp中以表格形式显示students.
现在又需要,把根据各种查询条件在student.jsp页面显示的数据students,保存到excel中,

现在遇到的问题是:
在后台java类中,如何获得传递到student.jsp上的List类型的students?

现在不想用session保存students,因为我害怕用户多了,会消耗系统的资源。

谢谢各位了。



------解决方案--------------------
HTTP是无状态会话,要实现你的要求要么重新查询,要么保存在Session中。
------解决方案--------------------
把两个操作放到一个controller类里,就不用再查一边了。
配上spring的modelandview,自己再写个excel的servlet。很容易实现。
------解决方案--------------------
你用json数据传过去
------解决方案--------------------
一般情况下下载都是再查询一下,然后写到excel中的
------解决方案--------------------
我一般会把jsp的请求发给servlet,由servlet处理,所以,我会将list对象直接传递给servlet上面,在由servlet进行调用java方法,传递参数,就OK了。我也不喜欢用session,或许是因为不太了解它吧。
------解决方案--------------------


不想重新获取也可以,你可以把获取的json数据设置到一个隐藏域里面,然后解析隐藏域里面的内容就行了


------解决方案--------------------
LZ你的意思是点击查询后要执行2种操作?一种在jsp上显示、一种是导出为excel?
那也简单啊、你在跳转到jsp页面之前已经拿到了所有的数据、那你先保存到excel里面再跳转到页面显示就可以了、
------解决方案--------------------
探讨
引用:
我一般会把jsp的请求发给servlet,由servlet处理,所以,我会将list对象直接传递给servlet上面,在由servlet进行调用java方法,传递参数,就OK了。我也不喜欢用session,或许是因为不太了解它吧。


这个怎么实现?
看起来有点模糊

------解决方案--------------------
其实你想太复杂了,你干脆做两个功能,分别用两个servlet去是实现就行了,一个用于处理显示页面,一个用于导出excel,只需要在页面上添加一个导出excel按钮,到后台处理就行了,我做了几个项目还没有这种需求的,在看页面的同时还要导出excel,都是在页面上选择好条件了,导出符合条件的excel数据这样才有意义。
对于实现你这类需求的话,使用xml,json,或者直接使用数组都行,都是要求解析两次