1.前台代码:

$("#batchdelete").click(function(){

$.ajax({
type: "post",
url: url,
data: "",
dataType: "json",
success: function(msg){
var records = msg['records'];
if (msg['flag'] == "success") {
showDialog("成功删除" + records + "条记录!", function(){
var url = "${base}/apppublish/queryChannelInfo.htm?channeltype=" + $("#channeltype").val() + "&pageNumber=" + ${pageNumber} + "&appid=" + ${appid} + "&channelname=" + $("#channelname").val() + "&channelcode=" + $("#channelcode").val();
window.location.href = url;
});
}
else {
showDialog("删除失败!");
}
},
error: function(){
alert("error");
}
});

}

2.后台代码:

@RequestMapping(value = "/batchdeleteChannelInfo.htm")
public @ResponseBody Map<String, Object> batchdeleteChannelInfo(HttpServletRequest request, HttpServletResponse response,
@RequestParam("ids") String ids, @RequestParam("channeltype") int channelType){

Map<String, Object> result = new HashMap<String, Object>();

result.put("flag", flag);
result.put("records", Integer.valueOf(records));
return result;

}

@RequestParam:绑定请求参数到方法参数.required默认是true.

@ResponseBody:与@RequestBody类似.这个注解放在一个方法上,表明返回类型应该直接写入到HTTP响应体(而不是放入Model或解析为视图名字),return返回的数据就会直接传到前台,在ajax的success函数里的参数就可以接到,这样写替代了在方法上添加HttpServletResponse response这样的写法,而且也省略了

try {
   response.setContentType(type + ";charset=UTF-8");
   response.setHeader("Pragma", "No-cache");
   response.setHeader("Cache-Control", "no-cache");
   response.setDateHeader("Expires", 0);
   response.getWriter().write(content);
   response.getWriter().flush();
  } catch (IOException e) {
   log.error("IOException:", e);
  }
  return null;这样的写法,所以方便多了。

@ModelAttribute有两种使用场景.
1.放在方法的参数.@ModelAttribute映射一个model属性到具体的方法参数.这就是controller如何获得一个引用到这个对象来hold住表单输入的数据.此参数可以声明为表单返回对象的具体类型而不是java.lang.Object泛型,从而增强类型安全.
2.放在方法级别上.提供为model引用数据.这种用法签名能包含@RequestMapping标注的同样的类型.
@ModelAttribute标注的方法能在@RequestMapping标注的方法之前执行.这样有效在预放具有特定属性的隐式Model,往往从数据库加载.

在spring mvc中利用ajax批量删除数据的更多相关文章

  1. 基于注解的spring mvc 中使用 ajax json 的model

    在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...

  2. Think5之ajax批量删除数据功能

    //批量删除学员信息 public function deleteMany() { $id = input('post.'); //判断id是数组还是一个数值 if(is_array($id)){ f ...

  3. MVC中利用ViewBag传递Json数据时的前端处理方法

    用viewBag传递Json字符串到前端时,json字符串中的“会被转义为& quot,前端处理方法为@Html.Raw(Json.Encode(ViewBag.Data)),再用eval() ...

  4. Spring MVC中处理静态资源的多种方法

    处理静态资源,我想这可能是框架搭建完成之后Web开发的”头等大事“了. 因为一个网站的显示肯定会依赖各种资源:脚本.图片等,那么问题来了,如何在页面中请求这些静态资源呢? 还记得Spring MVC中 ...

  5. Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法

    Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法 在Action中方法的返回值都是字符串行,一般情况是返回某个JSP,如: return "xx" ...

  6. spring mvc中实现csrf安全防御简记

    1.csrf是什么 csrf全称是Cross-site request forgery,http://en.wikipedia.org/wiki/Csrf 危害:使受害用户在不经意间执行了不是用户意愿 ...

  7. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   ...

  8. Servlet的生命周期以及在Spring MVC中调用流程

    接触Web时间比较久,虽然知道Servlet的生命周期但是理解却还是不够,今天刚好debug代码涉及这块就利用余下时间研究了一下. Servlet的生命周期以及处理浏览器请求的过程.Servlet接口 ...

  9. 解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容

    解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容 解决方案 在 Web.xml文件中 加入以下代码 <!--解决ajax Put与Del请求无法接收到传输的内容-- ...

随机推荐

  1. Codeforces 940F Machine Learning (带修改莫队)

    题目链接  Codeforces Round #466 (Div. 2) Problem F 题意  给定一列数和若干个询问,每一次询问要求集合$\left\{c_{0}, c_{1}, c_{2}, ...

  2. bzoj 3462: DZY Loves Math II

    3462: DZY Loves Math II Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 211  Solved: 103[Submit][Sta ...

  3. Uva 12063 Zero and Ones

    给个链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  4. ios中调用WCF

    例子比较简单 记录下思路 1.接口中定义 实体和方法声明 //登录信息        [OperationContract]        [WebInvoke(UriTemplate = " ...

  5. 利用osql/ocmd批处理批量执行sql文件

    原文:利用osql/ocmd批处理批量执行sql文件 上周在测试环境建了几十张表,保存了.sql文件,准备在正式环境重建的时候懒得一个个打开建了,做一在网上搜寻了一下,果然有简单点的方法. 利用osq ...

  6. Linux下防止文件误删方法

    转载:http://coolsky.blog.51cto.com/177347/1230332 Linux系统中,在root帐号下使用rm * -rf是非常危险的,一不小心就可能删除系统中的重要文件. ...

  7. java 的""和null的区别

    null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s ...

  8. SyBase 百科

    ylbtech_database_sybase 1, 百度百科 http://baike.baidu.com/view/118488.htm?fr=aladdin

  9. 一个对比各种开源库的网站 libhunt

    https://www.libhunt.com/ https://github.com/LibHunt/awesome-javascript

  10. Laravel之缓存

    一.默认缓存的配置 缓存配置位于config/cache.php,你可以使用memcache,redis,数据库缓存,文件缓存等.默认是文件缓存 二.缓存获取 1.获取 $value = Cache: ...