springMVC怎么接受前台传过来的多种类型参数?(集合、实体、单个参数)

创建一个实体:里面包含需要接受的多种类型的参数。如实体、list集合、单个参数。(因为springMVC无法同时接受这几种参数,需要创建一个实体包含它们来接受)

如接收User(bean里面包含List)集合参数:

1、User实体类:

1.public class User {
2.    private String name;
3.    private String pwd;
4.    private List<User> customers;//属于用户的客户群
5.    //省略getter/setter
6.}  

2、页面js代码:

1.var customerArray = new Array();
2.customerArray.push({name: "李四",pwd: "123"});
3.customerArray.push({name: "张三",pwd: "332"});
4.var user = {};
5.user.name = "李刚";
6.user.pwd = "888";
7.user. customers = customerArray;
8.$.ajax({
9.    type: "POST",
10.    url: "<%=path%>/catalog.do?fn=saveUsers",
11.    data: JSON.stringify(user),//将对象序列化成JSON字符串
12.    dataType:"json",
13.    contentType : ‘application/json;charset=utf-8‘, //设置请求头信息
14.    success: function(data){
15.        …
16.    },
17.    error: function(res){
18.        …
19.    }
20.}); 

3、Controller方法:

1[email protected]
[email protected]("/catalog.do")
3.public class CatalogController {
4.
5.    @RequestMapping(params = "fn=saveUsers")
6.    @ResponseBody
7.    public AjaxJson saveUsers(@RequestBody User user) {
8.        List<User> customers = user.getCustomers();
9.        …
10.    }
11.}  

原文地址:https://www.cnblogs.com/super-chao/p/8207042.html

时间: 2024-10-10 02:50:48

springMVC怎么接受前台传过来的多种类型参数?(集合、实体、单个参数)的相关文章

SpringCloud中服务消费者接受前台传参问题(报错415)

服务消费者clientFeign,接受前台form表单post提交的数据,虽然传递参数是对象类型,但是后台不能添加@RequestBody注解!!!,form表单提交的数据不是json格式!!! 1. 前端 <form class="layui-form" action="/menu/save" method="post"> <div class="layui-form-item"> <label

Ajax从前台传json串给springmvc接收的一些坑

加班是为了不加班. 从前台传了两个参数过去,包装成: {"user":{"name":"asd","age":22}} springmvc形参这样: public void test(@RequestBody User user){ ...... } 接收不到,属性总是显示为空,后来这样 {"name":"asd","age":22} 解决问题.看来User类中没有其

springMVC接收前台传的日期

当前台传数据给spring的control时,如果后台方法的参数或参数对象的对应属性是基本类型或者string类型时,前台值自动的注入到后台方法参数或对象属性中.如果方法参数或对象属性不是基本类型或string,比如是date类型,则不能直接赋值. 解决方法有一下三种: 一.使用注解 1.在springmvc配置文件中开启注解<mvc:annotation-driven /> 2.在参数或对象属性上添加注解 如:如果是date类型可以添加@DateTimeFormat(pattern = &q

Extjs4 + springMVC的文件上传

用springMVC来做项目,如果遇到文件上传,那么一定要用spring自带的文件处理类来处理上传的文件,因为效率实在高过其他的. 从界面传过来的参数,如果设置了值对象,那么可以从值对象里面取出字符串类型的普通参数,如果不这样做,也可以直接从request里面获得,两种方法都可以. 问题是如果值对象里面写了其他类型的变量,妄想像Struts2那样处理,springMVC就会报出400 Bad Request的错误. 在Struts2里面,我们可以定义一个值对象为 public class Ima

SpringMVC中文件上传的客户端验证

SpringMVC中文件上传的客户端验证 客户端验证主要思想:在jsp页面中利用javascript进行对文件的判断,完成验证后允许上传 验证步骤:1.文件名称 2.获取文件的后缀名称 3.判断哪些文件类型允许上传 4.判断文件大小 5.满足条件后跳转后台实现上传 前台界面(验证上传文件是否格式满足要求): <body> <h2>文件上传</h2> <form action="upload01" method="post" 

mybatis前台传给带年月日时分秒的数据给后台,后台接收不到时分秒

框架spring+springMVC+mybatis, 前台给后台传数据传不了时分秒,所以用springMVC的注解解决了,记录一下 controller中如下: /**     *      * 方法描述 : 使用@InitBinder 标签对表单数据绑定     * @param binder     */    @InitBinder//spring mvc使用@InitBinder 标签对表单数据绑定    public void initBinder(WebDataBinder bin

Springmvc之接受请求参数二

Springmvc之接受请求参数 准备工作 新建一个表单提交 请求地址: http://localhost:8080/ProjectName/user/login.do <form action="<%=request.getContextPath()%>/user/login.do" method="post"> username:<input type="text" name="username&quo

SpringMVC单文件上传

最近在看SpringMVC的文件上传部分,其实大多数系统都要涉及到文件上传,以前对于Struts的文件上传功能也做过总结了,今天主要说明一下如何使用SpringMVC进行表单上的文件上传以及多个文件同时上传的步骤. 一.设置配置文件: SpringMVC 用的是 的MultipartFile来进行文件上传 所以我们首先要配置MultipartResolver:用于处理表单中的file [html] view plaincopyprint? <!-- 配置MultipartResolver 用于文

Spring Framework源码(十):SpringMVC之文件上传

我们这一章讲SpringMVC中文件上传的应用,首先我们还是从DispatcherServlet这个核心分发器开始讲起: processedRequest = checkMultipart(request); 还记得上一章讲doDispatch这个方法时见过的方法吧?现在我们来分析下这个方法的具体解析过程: protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartExcepti