Ajax -- 传递数组类型给controller层(@RequestParam的使用)

js代码:

$.ajax({
   url : "/sams/user/deletedepart.action",
   type : "POST",
   data :{
    'd_id' : d_id
   },
   success : function(data) {
    $("#removedepartmodal").modal('hide');
    alert("删除成功!");
   }
  });

controller层代码:

@RequestMapping("/user/deletedepart.action")
 public void deleteDepart(@RequestParam(value = "d_id[]") String[] ids, Model model, HttpSession session,
   HttpServletResponse response) throws IOException {
  User user = (User) session.getAttribute("user");
  if (null != user) {
   response.setContentType("text/text;charset=utf-8");
   for (int i = 0; i < ids.length; ++i)
    dictionaryService.deleteDepartById(Integer.parseInt(ids[i]));
  } else {
   response.setContentType("text/text;charset=utf-8");
   response.sendRedirect("/sams/login.jsp");
  }
 }

关于该注解@RequestParam(value="",required="",defaultValue=""):

value:对应js传过来的属性值名称,若是数组value里的参数别忘记加上[]

required:是否必须有参数传到controller层,默认为true,即没有值会报404

defaultValue:默认值,表示如果请求中没有同名参数时的默认值,默认值可以是SpEL表达式.如“#{systemProperties[‘java.vm.version’]}”。

猜你喜欢

转载自blog.csdn.net/weixin_43636289/article/details/89811967