在SSH下,如何用jquery的ajax与后台的actionSupport类进行交互?

主要是如何将后台的action中的一个List类型的数据返回到前台,从前台传到action的数据可以接收到,但是如何将action中的list类型的数据返回给前台?structs.xml中需要怎么进行配置?求大神指导!!!感激不尽!
最新回答
爱你这出戏请给我一些台词

2024-11-03 01:59:15

其方法有多种,action跳转到指定的页前,将数据保存在session中:如:session.setActirbute(“ListArry”,ListArray);这样,在页面中用foreach来遍历就OK了。 多看点书籍,在网上看看例子,最重要是多练习! 祝你学习进步!
追问
感谢你的回复,我也是正在学习,主要是想用ajax实现局部刷新,想以json对象的形式返回到前台,可是我试了许多方式,总是在前台接收不到返回的数据,请问能针对返回json对象的形式给出具体的指导么?再次感谢
追答
哦,原来如此。参照此格式
$.ajax({
url:"",//这里写你提交的action
type:"post",
data:{"text":textNode,"pid":node.data.id},//这里是你提交的参数
dataType:"json",//数据格式
success:function(data){//这里是你返回的数据
alert(data.text); //jquery会将json变成js对象
}
})
你可以到后台具体的类中out.print()一下,看到底执行没。调试一下。然后对于你取数据的问题网上也有很多例子。要学会用百度,google哦~!
短笛

2024-11-03 01:16:54

记得struts2中 有个json有关的jar包,引入的话可以通过配置让struts2帮助返回json数据。
但是我太懒啦,一直都记不住怎么配,我的做法是直接用response把json数据写回去。

step1:构造json数据,用字符串拼也行,用json的jar包帮助转也行,得到json格式字符串。
step2:response打开输出流。
step3:用流把字符串写回去。
step4:记得action的返回值用null。

很久没写java了,老土的办法仅供参考。
追问
对于action返回为null有点疑惑,因为页面初始的时候就是用action生成的,如果返回为null 的话,那是不是说初始的时候就不能用这个action了呢?
追答
在struts2中,action返回的字符串不是用来指向返回页面吗?ajax请求不需要页面啊,只要数据就行了
追问
你的意思我大概明白,只是我现在做是最开始的时候,初始化那个页面的时候就是调用action的啊,如果没有那个返回的字符串的话,那么刚开始的时候不就定位不到了么?所以感到有点迷惑,不知道该怎么处理,能给个建议么?
追答
返回页面Action 和 负责处理ajax请求的Action 各写一个
や泪漫延街

2024-11-03 01:03:08

如果你说的是ajax异步请求返回集合的话,jquery是做不到的,jquery只能返回字符串,你可以用其他的ajax插件,比如dwr就可以返回集合,dwr不过没有jquery安全!
追问
不用jquery,只用纯的ajax怎么实现会比较好些呢
追答
纯的ajax我不会用,不过dwr比较好用,资料也不少
追问
dwr一点不了解,能推荐的不错的资料么
梦明

2024-11-03 01:48:06

可以赋初值