请问如何利用AJAX为JSP页面传递一个包含了若干对象的List集合

比如,我有一个page1.jsp页面,里面有个按钮,点击按钮之后触发AJAX事件,AJAX事件向Servlet.java传递一组参数,Servlet.java通过AJAX... 比如,我有一个page1.jsp页面, 里面有个按钮,点击按钮之后触发AJAX事件,AJAX事件向Servlet.java传递一组参数,Servlet.java通过AJAX传递过来的参数去查询数据库并返回List集合(假如名称为:userList)类型的Java对象,然后我该如果把这个List集合对象返回给page1.jsp中的AJAX,AJAX收到返回的List集合后,又如何传递给page2.jsp,page2.jsp用户循环显示出List集合当然的内容?或者有更好的方法也可以,总之执行过程中浏览器不能刷新,完全依靠AJAX处理
回复:斌银

由于我的servlet根据page1.jsp中的AJAX传递的参数不同,可能不是在page2.jsp中显示,可能在page3.jsp显示,page1.jsp是起始页面时不会变的,所以合并不太现实
展开
 我来答
007yuwen
2010-08-27
知道答主
回答量:31
采纳率:0%
帮助的人:0
展开全部
你干脆先在Servlet中把List设置到Sesion属性方法中,然后在Page2.jsp中取得Session属性范围中的List内容并显示,最后再在Page2.jsp中把这个List从Session属性范围中移除掉就可以了,并且也不占服务器资源
exboylfs
2010-08-21 · TA获得超过331个赞
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:227万
展开全部
可以用两种方式,一种是XML
另一种就是JSON。
如果数据结构不是很复杂,一般都是用JSON,效率也比较高,还可以自已决定格式。
例如List内放的了一个这个的对象:
class JsObj{
string vtb1;
string vtb2;
string vtb3;

}
我可以自定一个这个的格式来传
"jsObj1.vtb1-jsObj1.vtb2-jsObj1.vtb3,jsObj2.vtb1-jsObj2.vtb2-jsObj2.vtb3.....jsObjn.vtb1-jsObjn.vtb2-jsObjn.vtb3"
然后到AJAX JS拿到的就是一个字符串,然后安排自定义的格式来解析就行了。
当然也可以用标准的JSON格式,现在也有很多封装好的JSON 工具包(包含JS的),像Jquery就有。
JSON的标准
http://baike.baidu.com/view/136475.html?wtp=tt

参考资料: http://baike.baidu.com/view/136475.html?wtp=tt

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
fyeat111
2010-08-23 · TA获得超过993个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:382万
展开全部
如果你愿意尝试新东西,建议你学习一下DWR。如果不想为了这么个问题去学新东西,可以考虑使用轮询技术。

即,在page2.jsp和page3.jsp中都加上一个每隔几秒执行一次的ajax,其功能就是询问服务器,有我要的内容了没有?如果有就下载回来,没有就什么也不做。

另外提示一点,要想不刷新页面,jsp代码就不会执行,传递给jso页面java中的对象就无法解析,不可能利用,在这一点上,就必须用json了,不要看到新名词就害怕,json很简单,比xml还简单,搜索一下相关资料,一小时掌握。

如果决定在page2中还是page3中显示的是list中的内容,为什么不在服务器判断,每个页面都进行轮询。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liupeng971321
2010-08-21 · TA获得超过1287个赞
知道小有建树答主
回答量:483
采纳率:0%
帮助的人:433万
展开全部
我的建议可以这样:只用一个页面,分为按钮,下面是一个列表,可以为空,如果进行查询或者点击按钮后,给后台传递参数,serverlet获取userlist,通过json-lib进行转换传递到前台,前台ajax传递后台成功后,会有一个成功与否的判断函数,在此函数中把数据传递给列表显示。参考代码:
http://wenku.baidu.com/view/63850f1ca300a6c30c229fe8.html
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappE738YUMrMlVTd
2010-08-22 · TA获得超过103个赞
知道小有建树答主
回答量:161
采纳率:0%
帮助的人:75.9万
展开全部
有页面的更换,光靠Ajax做不到的。建议合并2个页面,然后数据返回用JSON,Java中有封装好的JSON与List的转换接口
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式