在spring mvc中利用ajax批量删除数据
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批量删除数据的更多相关文章
- 基于注解的spring mvc 中使用 ajax json 的model
在 Spring mvc3中,响应.接受 JSON都十分方便. 使用注解@ResponseBody可以将结果(一个包含字符串和JavaBean的Map),转换成JSON. 使用 @RequestBod ...
- Think5之ajax批量删除数据功能
//批量删除学员信息 public function deleteMany() { $id = input('post.'); //判断id是数组还是一个数值 if(is_array($id)){ f ...
- MVC中利用ViewBag传递Json数据时的前端处理方法
用viewBag传递Json字符串到前端时,json字符串中的“会被转义为& quot,前端处理方法为@Html.Raw(Json.Encode(ViewBag.Data)),再用eval() ...
- Spring MVC中处理静态资源的多种方法
处理静态资源,我想这可能是框架搭建完成之后Web开发的”头等大事“了. 因为一个网站的显示肯定会依赖各种资源:脚本.图片等,那么问题来了,如何在页面中请求这些静态资源呢? 还记得Spring MVC中 ...
- Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法
Spring MVC 中采用注解方式 Action中跳转到另一个Action的写法 在Action中方法的返回值都是字符串行,一般情况是返回某个JSP,如: return "xx" ...
- spring mvc中实现csrf安全防御简记
1.csrf是什么 csrf全称是Cross-site request forgery,http://en.wikipedia.org/wiki/Csrf 危害:使受害用户在不经意间执行了不是用户意愿 ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除)
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(18)-过滤器的使用和批量删除数据(伪删除和直接删除) ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) ...
- Servlet的生命周期以及在Spring MVC中调用流程
接触Web时间比较久,虽然知道Servlet的生命周期但是理解却还是不够,今天刚好debug代码涉及这块就利用余下时间研究了一下. Servlet的生命周期以及处理浏览器请求的过程.Servlet接口 ...
- 解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容
解决Spring MVC无法接收AJAX使用PUT与DELETE请求传输的内容 解决方案 在 Web.xml文件中 加入以下代码 <!--解决ajax Put与Del请求无法接收到传输的内容-- ...
随机推荐
- HDU 5915 The Fastest Runner Ms. Zhang (CCPC2016 长春 E题,分类讨论 + 求字典序最小的直径 + 数据结构寻找最小值)
题目链接 CCPC2016 Changchun Problem E 题意 给定一个$n$个点$n$条边的无向图,现在从某一点$s$出发,每个点都经过一遍,最后在$t$点停止,经过的边数为$l$ ...
- NOIP2018提高组模拟题(二)
咒语(curse) Description 亮亮梦到自己来到了魔法城堡,但一扇巨大的石门阻拦了他通向城堡内的路. 正当他沮丧之际,突然发现门上有一处机关,机关上有一张很长的纸条. 亮亮拿起纸条的一端, ...
- viewport 测试以及总结
这里的总结的主要思想是ppk的文章(文末附有链接),加入了自己的总结,下面的测试用的是iphone5s,android是安卓5.5吋的手机,只是为了直观感受和方便解释拿了空出来的测试机给出的数据.详细 ...
- 「JXOI2018」游戏
注意输出的应该是 所有方案的和,,而不是期望. 我们不妨把依赖关系建图,可以发现 所有没有入度的点都被查水表了一次 是 游戏结束的 充要条件. 于是我们只需要知道有多少没有入度的点,然后再排列算一算就 ...
- Java Socket编程详细解说
Java Socket编程 JavaSocketServerSocket乱码超时 Java Socket编程 对于Java Socket编程而言,有两个概念,一个是ServerSocket,一个是So ...
- ReactNative学习笔记1 Flexbox布局
一.比例属性flex和布局方向属性flexDirection 例如三个视图的flex属性值分别为2.4.8,则它们的高度比例为2:4:8.,宽度不指定,默认为全屏的宽度. class ZLFReact ...
- linux 之创建文件命令
1.vi vi 1.txt 会直接创建并打开一个文件1.txt 2.touch touch的作用是更改一个文件或目录的时间.touch 2.txt 如果2.txt不存在,则创建空文件2.txt 3.e ...
- linux下内存释放问题
参考: http://blog.sina.com.cn/s/blog_3cba7ec10100gk4k.html http://blog.sina.com.cn/s/blog_3cba7ec10100 ...
- WebStrom配置多个项目的Dweployment时,设置默认的启动配置
有时候,我们在WebStrom中打开多个项目,但是每个项目可能的Deployment的配置不同,所以每次在项目中时,可能打开的网页并不对.所以需要设置默认的启动的Deployment.下面的内容是设置 ...
- 安全小测试:介绍一个简单web安全知识测试的网站
https://websecurity.firebaseapp.com/ 一次测试一共7道题,最后有答案,可以反复做,每次随机抽题