Ajax与struts2、JQuery配合实现异步响应,处理list类型对象
2014-07-09 15:44
489 查看
首先要明确的是,对于复杂类型的list,尤其是自定义类型的list,JQuery是无法直接识别并操作的,只有将其转换为JSONArray格式,才能被JQuery识别并操作。因此,一次异步请求过程可按如下进行:
1.前台页面中发起异步请求的代码如下:
注意要在页面中引入JQuery,"<script src="js/jquery-1.9.1.js"></script>"
2.后台action的处理如下(注意,此处对于action使用的是注解方式,因此无需再在Struts.xml中对action进行配置,注解的原理即为省略xml配置,将配置过程在java代码中动态添加即可,极大的方便了开发过程)。
1.前台页面中发起异步请求的代码如下:
<script language="javascript"> $(document).ready(function(){ $.ajax({ url:"ajaxToResponse.action", type:"post", dataType:"json", data:{}, error:function(){ alert("error"); }, success:function(data){ var buf="" ; $.each(data,function(commentIndex, item) { //遍历返回数组的每一个实体 buf+=item.name; .... }); $("#resultHtml").append(buf); } }); }); </script>
注意要在页面中引入JQuery,"<script src="js/jquery-1.9.1.js"></script>"
2.后台action的处理如下(注意,此处对于action使用的是注解方式,因此无需再在Struts.xml中对action进行配置,注解的原理即为省略xml配置,将配置过程在java代码中动态添加即可,极大的方便了开发过程)。
@ParentPackage("struts2") public class MyAction extends ActionSupport{ private List<T> list; private JSONArray responseJson;//需要set、get方法,否则将无法获得该对象 public void setResponseJson(JSONArray responseJson) { this.responseJson = responseJson; } public JSONArray getResponseJson() { return responseJson; } @Action(value="ajaxToResponse",results= {@Result(name=SUCCESS,type="json",params= {"root","responseJson"})}) //注解部分,value为actionname,results定义结果集; //sturts中需要将package定义为如下形式“<package name="struts2" extends="struts-default,json-default">” //然后在action中需要继承自该package——“@ParentPackage("struts2")” // @Result中,SUCCESS为结果标识,type需定义为json格式,params中定义返回对象 public String ajaxToResponse() throws JSONException { //向数据库中获取数据,构造list JSONArray jsarry=new JSONArray(); jsarry=JSONArray.fromObject(list);//将list转换为JSONArray格式 this.setResponseJson(jsarry); //赋值到responseJson return SUCCESS; } }
相关文章推荐
- jQuery的Ajax实现异步传输List、Map_GOOD
- Struts2整合jQuery实现ajax异步登录
- struts2 jquery 插件实现ajax异步请求(网上资料)
- Struts2整合jQuery实现ajax异步登录
- 续上篇,改用struts2实现JQuery的ajax异步请求
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- jQuery的ajax()检验用户名;通过jQuery的load()/get()/post()方法实现;使用XMLHTTPRequest对象来进行AJAX的异步数据交互
- 85---ajax实现的传统方式以及jquery方式,jquery方式的五种方法,json对象的转换方法, JSON类型的Result
- 利用Linq + Jquery + Ajax 异步分页的实现
- Asp.net 更改Alert样式和后台注册Jquery的Ajax异步提交事件[包括处理前操作、处理后操作(注明:此方法只是作为参考,如有需要可自行修改)]
- struts2之使用JSON插件实现Ajax(处理枚举类型)
- 黄聪:Jquery+php+ajax实现表单异步提交,动态添加回复评论
- struts2之使用JSON插件实现Ajax(在struts.xml中处理要序列化的属性)
- 解决 ”不允许在查询中显式构造实体类型“问题及使用其他方法实现返回 List<Model对象>或者IQueryable<Model对象>对象
- struts2 json 与jquery整合实现ajax,用户注册校验
- Jquery+ajax+php实现简单的异步提交
- 使用jQuery实现Ajax异步提交表单实现局部刷新
- AJAX学习之序列二:struts2 jquery json 实现AJAX 注册ID验证
- Struts2 +jquery+ajaxfileupload 实现无刷新上传图片
- ajax 异步获取数据实现代码 (js创建ajax对象)