Ajax与Struts2的action之间的数据交互
来源:互联网 发布:mybatis拼接sql 编辑:程序博客网 时间:2024/05/16 18:00
本文将主要说明Ajax与Action数据交互的实现过程,前端使用JQuery中Ajax的相关方法,get或者post,将数据以Json格式传回到业务调度Action中,Action中处理后,再讲数据以Json格式返回给前端。
前端Ajax请求
可以使用get或者post两种方式向服务器发送请求,首先先熟悉get的打开方式。
整体方法结构:$.get(url [, data] [, callback] [, type])
- url:请求的HTML页的URL地址
data(可选):发送至服务器的key/value数据会做为QueryString附加到请求URL中
callback(可选):载入成功时回调函数(即当Response的返回状态为success才调用)自动将请求结果和状态传递给该方法
type(可选):服务器端返回内容的格式,包括xml,html,script,json,text和_default.
例子,使用get向后台请求数据
$.get( "getSafeEvent.action",//请求的action相对路径 function (jsonStr) { var StrArray = eval(jsonStr); //解析json数据 var event_type = StrArray[0].type; }, "json" ); //从后台获取所有数据
同样也可以使用post向后台请求,使用方法和get基本相同。例子,使用post发送数据
var eventJson = { "lng": e.point.lng, "lat": e.point.lat, "time": timeValue, "address": addressValue, "type": typeValue, "content": contentValue } $.post( "addNewEvent.action", eventJson, //需要发送的Json数据 function (data) { marker.setTitle(data); }, "text" );
后台服务Action
以上文中的get请求为例,给出相应的action处理代码
public class GetSafeEventAction { public void execute() throws Exception { ActionContext ac = ActionContext.getContext(); List<WeiBoContent> contents = ContentWithGeoFinder.getContentWithGeo(); HttpServletResponse response = (HttpServletResponse) ac.get(ServletActionContext.HTTP_RESPONSE); response.setContentType("text/html;charset=utf-8"); response.getWriter().write(JSONArray.fromObject(contents).toString()); }}
注意到Action的返回方法被省略了,因为处理结果直接通过response输出到前端,这里使用到了JSON库的JSONArray方法来将一个Java Object转化为Json数组。实际运行action返回的值如下所示:
{//Json数组开始//Json格式的对象{"addr":"虞城","content":"#商丘微求助# 在虞城新建路月轩网吧丢失一个钱包,钱包里有两千多现金,身份证,银行卡等证件;钱不重要,主要是证件之类的。有小偷照片,听说叫吴振宇,大概15,6岁…希望有认识的朋友帮下忙,找到重谢 |秒拍视频 .","fatherId":8942,"id":8942,"isShow":"yes","lat":"34.369072","lng":"115.91422","time":"2015-012-01:2015-012-30","type":"安全","username":"商丘那点事"}{"addr":"瓮安","content":"#黔南身边事#【神秘小偷猖狂搜遍瓮安中学校园,数名学生被盗】网友爆料:6月27号凌晨3点左右,瓮安中学被一头戴鸭舌帽,面戴口罩,手拿电筒的男子潜入教学楼,挨个教室搜了个遍,高一、高二数名学生被盗。沒有了生活费的学生很无奈,试问校园警务你的安保工作是怎么开展的,还能不能保证让学生安心的读...展开全文c","fatherId":8911,"id":8911,"isShow":"yes","lat":"27.17234","lng":"107.42141","time":"2015-012-01:2015-012-30","type":"安全","username":"黔南头条"}}//Json数组结束
其中WeiBoContent对象的结构如下:
public class WeiBoContent { private String username; private String content; private String time; private String lng; private String lat; private Integer id; private String type; private String addr; private Integer fatherId = 0; private String isShow = "yes";}
Struts配置
<struts> <package name="com.eventMap.struts2" extends="struts-default" > <action name="getSafeEvent" class="actions.GetSafeEventAction"> </action> </package></struts>
配置只需要将逻辑action与实际action链接即可,因为没有action中没有return方法,所以这里也就不需要为其配置result。
参考
使用Jquery的Ajax方法与后台Action交互
使用Struts2的Json插件来与前端Ajax交互
0 0
- Ajax与Struts2的action之间的数据交互
- ajax交互Struts2的action
- Struts2的action之间的交互
- ajax交互Struts2的action(1)
- Struts2 之 Action类与 jsp 页面的数据交互
- Struts2 之 Action类与 jsp 页面的数据交互
- Struts2 action与action之间的跳转
- struts2与springMvc下的AJax异步数据交互1
- struts2与springMvc下的AJax异步数据交互2
- ajax与action的动态交互
- Ajax和Action之间Json数据的交互--包含List数据传输
- struts2使用ajax实现页面和action之间通过json数据交互
- ajax与servlet之间的交互方式
- ajax与action进行数据交互
- struts2,jsp的表单中用<input>元素与action进行数据交互
- ajax 与action 交互
- Fragment与Fragment之间的数据交互
- Flex与Servlet之间数据的交互
- spring项目常见报错问题汇总
- 8-13(LinkedList,Map)
- 2016第七届蓝桥杯大赛C组省赛
- HDU 5033-B - Building-维护凸包-单调栈
- 威客
- Ajax与Struts2的action之间的数据交互
- 关于可持久化线段树的一些研究(链表实现)
- 2016夏季练习——水题(AI)
- Java Script-对象属性
- tcpdump抓包实例
- TeXstudio:LaTeX模板使用
- 通道&渐变——金属按钮制作
- 使用adb devices命令,error:device offline的错误。
- windows中批量修改文件后缀名