比如动作和结果是怎么设计和交互的,希望大牛能够点拨,谢谢
1.从ValueStack上取得数据,然后将数据作为JSON写入到响应流中(responseStream.println(xstream.toXML(jsonModel));)
2.然后编写动作类
我想知道响应流中的信息是怎么被动作类获得的
被JavaScript客户端应用程序提交的Ajax请求会进入框架并且会触发action,然后action会准备数据放在ValueStack上,并且将响应的处理转交给result,这个result将ValueStack上的数据序列化为JSON,并且把它送回客户端。在客户端,一个回调函数接受JSON,从这些数据生成一个JavaScript对象,将这个JavaScript对象传入一个动态更新页面的方法。
问题太大,不好回答
问题已补充,求解答啊啊
比如动作和结果是怎么设计和交互的?
首先:问题问的不够明确!
1.作为返回json格式数据,采用框架
结果返回<result name="reload" type="json"></result>当然这个是包装作为json格式response
2.如果你响应一个任意数据:action:
HttpServletResponse response = ServletActionContext.getResponse();
//设置字符集
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
//直接输入响应的内容
out.println("响应内容");
我补充了问题,求解答
@thehappyyouth:
其实Ajax跟后台没有任何关系,重点的是ajax是在浏览器能发起请求,并且通过回调函数来获得浏览器response的数据!当然响应的status为200时才是成功的!
其次Ajax是神马到底如何发起请求并能获得服务器响应的数据而不用刷新页面的呢?这个要想搞明白不是一两句说明白的但是归其重点,还是有一个叫XmlHttpRequest对象来管理的!
这里给你一个比较好的分析,你可以看看!http://www.cnblogs.com/mingmingruyuedlut/archive/2011/10/18/2216553.html
@Beyond-bit: 我现在明白些了,我其实想知道的是ajax使怎么与struts框架交互的,现在明白了,被JavaScript客户端应用程序提交的Ajax请求会进入框架并且会触发action,然后action会准备数据放在ValueStack上,并且将响应的处理转交给result,这个result将ValueStack上的数据序列化为JSON,并且把它送回客户端。在客户端,一个回调函数接受JSON,从这些数据生成一个JavaScript对象,将这个JavaScript对象传入一个动态更新页面的方法。