- 使用POJO绑定参数
package com.sunjian.entity; /** * @author sunjian * @date 2020/3/17 14:25 */ public class User { private Integer id; private String name; private Integer age; private Address address; @Override public String toString() { return "User{" + "id=" + id + ", name='" + name + '\'' + ", age=" + age + ", address=" + address + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Address getAddress() { return address; } public void setAddress(Address address) { this.address = address; } }
package com.sunjian.entity; /** * @author sunjian * @date 2020/3/17 14:26 */ public class Address { private Integer id; private String name; @Override public String toString() { return "Address{" + "id=" + id + ", name='" + name + '\'' + '}'; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
package com.sunjian.controller; import com.sunjian.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; /** * @author sunjian * @date 2020/3/17 14:28 */ @Controller @RequestMapping(value = "/user") public class UserHandler { @RequestMapping(value = "/add") public String add(User user){ System.out.println(user); return "index"; } }
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <form action="/user/add" method="post"> ID:<input type="text" name="id"/><br/> 姓名:<input type="text" name="name"/><br/> 年龄:<input type="text" name="age"/><br/> 地址ID:<input type="text" name="address.id"/><br/> 地址名:<input type="text" name="address.name"/><br/> <input type="submit" value="提交"/> </form> </body> </html>
访问http://localhost:7777/add.jsp,输入人员信息后,点击提交按钮,打印结果
User{id=123, name='张三', age=31, address=Address{id=1234, name='12345'}}
- 基本数据类型
-
基本数据类型
- 包装类
-
包装类
- 数组
-
数组
- List
-
list
- Json
pom.xml
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.18</version> </dependency>
springmvc.xml
<!-- 消息转换器 --> <mvc:annotation-driven> <mvc:message-converters register-defaults="true"> <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"></bean> </mvc:message-converters> </mvc:annotation-driven>
JSP
<!DOCTYPE html> <html lang="en"> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <head> <title>Title</title> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <script type="text/javascript"> $(function(){ var user = { "id":1, "name":"张三" }; $.ajax({ url:"/data/json", data:JSON.stringify(user), type:"POST", contentType:"application/json;charset=UTF-8", dataType:"text", success:function(data){ alert(data); } }) }); </script> </head> <body> </body> </html>
controller
package com.sunjian.controller; import com.sunjian.entity.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; /** * @author sunjian * @date 2020/3/17 15:51 */ @Controller public class JsonController { @RequestMapping(value = "/json") @ResponseBody public String json(@RequestBody User user){ System.out.println(user); return user.toString(); } }
web.xml
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <display-name>Archetype Created Web Application</display-name> <!--中文乱码处理--> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--映射--> <servlet> <servlet-name>springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>springmvc</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!-- js --> <servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.js</url-pattern> </servlet-mapping> </web-app>
访问http://localhost:7777/json.jsp,打印
User{id=1, name='张三', age=null, address=null}
OK.