Spring MVC 前端ajax传入多个参数(包含数组)后端controller的一次性接收
来源:互联网 发布:js floatparse 编辑:程序博客网 时间:2024/06/10 09:38
如上图,ajax中传入到后台的参数包含了数组和普通属性,那么在后端如何接收这些参数呢?
如果,采用request.getParamter("roleName");的方式,那么就要一个参数一个参数的取,这样不灵活。
Spring MVC 早就想到这种情况了,因此,可以自定义一个PO类或者VO类:
package com.paic.test.po;import java.io.Serializable;import java.util.List;public class RoleResourcePO implements Serializable{private static final long serialVersionUID = 1L;private String roleName;private String roleIdentify;private String roleDesc;private List<Integer> menuIdArr;public String getRoleName() {return roleName;}public void setRoleName(String roleName) {this.roleName = roleName;}public String getRoleIdentify() {return roleIdentify;}public void setRoleIdentify(String roleIdentify) {this.roleIdentify = roleIdentify;}public String getRoleDesc() {return roleDesc;}public void setRoleDesc(String roleDesc) {this.roleDesc = roleDesc;}public List<Integer> getMenuIdArr() {return menuIdArr;}public void setMenuIdArr(List<Integer> menuIdArr) {this.menuIdArr = menuIdArr;}}controller中可以这样处理:
@RequestMapping(value = "/role/addRole/submit",method = RequestMethod.POST)public @ResponseBody Map<String,Object> submitAddRole(RoleResourcePO roleResourcePO,HttpServletRequest request){Map<String,Object> repMap = new HashMap<String,Object>();try{xxxService.addRole(roleResourcePO);//.............}catch(Exception e){}return repMap;}
这样参数roleResourcePO就能一次性全部拿到前端的参数了。
(注:上图中的menuIdArr数组作为参数传到后端的时候,需要用toString处理,否则报错,而且不能使用JSON.stringify(menuIdArr),否则在后端controller中的List中会得到这样奇怪的值:第一个值[1,最后一个为3] 带了中括号,这个问题上一篇有解释了。)
最后,如果前端只传一个数组,那么可以使用
下面介绍一下URL中传递数组参数方法:
使用ajax方式传递:
1
2
3
4
5
6
7
8
9
10
var
param = {titles:[
'col1'
,
'col2'
,
'col3'
]};
$.ajax({url:
"dd.php"
, type:
"post"
, data:param, async:
false
, dataType:
"json"
, cache:
false
, error:
function
(data) {
rtnObj = data.responseText;
}, beforeSend:
function
(XMLHttpRequest) {
//ajaxStart();
}, complete:
function
(XMLHttpRequest, textStatus) {
//ajaxComplete();
}, success:
function
(data) {
rtnObj = data;
}});
在springMVC中controller类接收数组参数的方法:
1
2
3
4
5
6
@RequestMapping
(value=
"/save"
, method = RequestMethod.POST)
@ResponseBody
public
String save(
@RequestParam
(value =
"titles"
) String[] titles){
System.out.println(titles);
return
null
;
}
0 0
- Spring MVC 前端ajax传入多个参数(包含数组)后端controller的一次性接收
- Spring MVC Controller 接收ajax的数组参数说明
- spring mvc 接收jquery ajax 提交的数组参数
- spring mvc控制层(controller)接收参数的问题
- Spring MVC 传入List参数的接收问题
- Spring MVC的controller层接收前台传Json参数
- 关于怎么解决从ajax传入的json参数注入到Controller的接收对象 以及如何在Spring Boot项目使用参数校验
- Spring MVC 接收数组参数
- Spring MVC中Controller如何区分一个Form中包含的多个Submit按钮
- Spring MVC 如何接收前端各种参数
- spring MVC接收ajax post提交参数
- Spring MVC前端与后端5种ajax交互方式
- Spring MVC前端与后端5种ajax交互方式
- Spring MVC前端与后端5种ajax交互方式
- Spring MVC前端与后端5种ajax交互方式
- spring mvc 单独接收数组参数
- 记录一个Spring MVC Controller层,跳转到前端页面以及返回参数的包装类
- MyBatis传入多个参数,传入数组和列表数据的处理
- "编程珠玑" 第一章 磁盘文件排序问题
- 二叉查找树
- hdoj1756Cupid's Arrow【点在多边形内部的判断 射线法】
- 工具:去除文件的行号
- Hadoop集群优化-关闭THP
- Spring MVC 前端ajax传入多个参数(包含数组)后端controller的一次性接收
- mac 中Tomcat的安装 以及注意事项
- mapper.xml内容解析
- 1012--反射!!!
- 虚拟机nat模式连接
- 分享一个制作JQ插件方法的文章
- 文本视图(UITextView)
- base-adapter-helper之recyclerview版本,支持多种viewtype布局
- MessageBox