SpringMVC框架——数据绑定
Spring MVC 数据绑定
- 使用POJO绑定参数
entity
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; } }
controller
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"; } }
JSP
<!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'}}
- 基本数据类型
- controller
package com.sunjian.controller; import com.sunjian.entity.User; import com.sunjian.entity.UserList; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; 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 14:28 */ @Controller @RequestMapping(value = "/user") public class UserHandler { @RequestMapping(value = "/int/{num}") @ResponseBody public String intTest(@PathVariable int num){ return "num: " + num; } }
- 访问http://localhost:7777/user/int/7
- 包装类
- controller
package com.sunjian.controller; import com.sunjian.entity.User; import com.sunjian.entity.UserList; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.PathVariable; 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 14:28 */ @Controller @RequestMapping(value = "/user") public class UserHandler { @RequestMapping(value = "/package") @ResponseBody public String packageTest(Integer num){ return "num: " + num; } }
- 访问http://localhost:7777/user/package?num=7
- 数组
- controller
package com.sunjian.controller; import com.sunjian.entity.User; import com.sunjian.entity.UserList; 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 14:28 */ @Controller @RequestMapping(value = "/user") public class UserHandler { @RequestMapping(value = "/arrayUser") @ResponseBody public String arrayUser(@RequestBody String[] names){ for(String s:names){ System.out.print(s + " "); } return names.toString(); } }
- JSP
<!DOCTYPE html> <html lang="en"> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <head> <title>Title</title> </head> <body> <form action="" method=""> <input type="text" class="input1"> <input type="text" class="input2"> <input type="text" class="input3"> <input type="submit" id="submit" value="上传"/> <script src="./js/jquery-1.8.3.min.js"></script> <script> $(function () { $("#submit").on("click", function () { var input1 = $(".input1").val(); var input2 = $(".input2").val(); var input3 = $(".input3").val(); var array = [input1, input2, input3]; $.ajax({ type : 'POST', url: '/user/arrayUser', contentType : "application/json" , data : JSON.stringify(array), success : function(data) { alert("ok"); } }); }) }) </script> </form> </body> </html>
- 访问http://localhost:7777/arrayUser.jsp,输入信息后点击“提交”按钮,打印
张三 李四 赵六
- List
entity
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; import java.util.List; /** * @author sunjian * @date 2020/3/17 16:21 */ public class UserList { private List<User> users; public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } }
controller
package com.sunjian.controller; import com.sunjian.entity.User; import com.sunjian.entity.UserList; 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 14:28 */ @Controller @RequestMapping(value = "/user") public class UserHandler { @RequestMapping(value = "/listUser") @ResponseBody public String listUser(UserList userList){ for(User user:userList.getUsers()){ System.out.println(user); } return "ok"; } }
JSP
<!DOCTYPE html> <html lang="en"> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <head> <title>Title</title> </head> <body> <form action="/user/listUser" method="post"> <input type="text" name="users[0].id"/><br/> <input type="text" name="users[0].name"/><br/> <input type="text" name="users[1].id"/><br/> <input type="text" name="users[1].name"/><br/> <input type="text" name="users[2].id"/><br/> <input type="text" name="users[2].name"/><br/> <input type="submit"/> </form> </body> </html>
访问http://localhost:7777/listUser.jsp,输入姓名后,提交,控制台打印
User{id=1, name='2', age=null, address=null} User{id=3, name='4', age=null, address=null} User{id=5, name='6', age=null, address=null}
- 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.
SpringMVC框架——数据绑定的更多相关文章
- SpringMvc框架MockMvc单元测试注解及其原理分析
来源:https://www.yoodb.com/ 首先简单介绍一下Spring,它是一个轻量级开源框架,简单的来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开 ...
- SpringMVC框架02——SpringMVC的Controller详解
1.基于注解的控制器 1.1.@Controller 注解类型 在SpringMVC中使用org.springframework.stereotype.Controller注解类型声明某类的实例是一个 ...
- SpringMVC 的数据绑定
1.数据自动绑定 SpringMVC 框架支持不需要任何数据绑定的注解直接将表单参数绑定到我们的执行方法的参数上. 表单参数:包括 POST 以及 GET 发送过来的参数 就是以内容类型为:encty ...
- SpringMVC框架笔记01_SpringMVC的使用案例和架构组件_SpringMVC和Mybatis整合_接收参数
目录 第1章:SpringMVC简介 1.1 什么是SpringMVC 1.2 SpringMVC的处理流程 第2章:SpringMVC入门程序 2.1 场景描述 2.2 步骤分析 2.3 步骤一:创 ...
- SpringMVC框架 课程笔记
SpringMVC框架 课程笔记 第0章 SpringMVC框架的核心内容 1.SpringMVC 概述 2.SpringMVC 的 HelloWorld 3.使用 @RequestMapping 映 ...
- SpringMVC框架搭建 基于注解
本文将以一个很简单的案例实现 Springmvc框架的基于注解搭建,一下全为个人总结 ,如有错请大家指教!!!!!!!!! 第一步:创建一个动态web工程(在创建时 记得选上自动生成 web.xml ...
- 教你搭建SpringMVC框架( 更新中、附源码)
一.项目目录结构 二.SpringMVC需要使用的jar包 commons-logging-1.2.jar junit-4.10.jar log4j-api-2.0.2.jar log4j-core- ...
- springMVC框架访问web-inf下的jsp文件
博客原文章:http://td.xue163.com/1042/1/10425265.html 用户提出问题:springMVC框架访问web-inf下的jsp文件,具体如下: 使用springMVC ...
- SpringMVC框架图解析
Spring框架提供了构造Web应用程序的全能MVC模块.Spring MVC分离了控制器.模型对象.分派器以及处理程序对象的角色,这种分离让它们更容易进行制定.是一个标准的MVC框架. 那你猜一猜哪 ...
随机推荐
- SWUST OJ 青蛙的约会之二(0481)
青蛙的约会之二(0481) Time limit(ms): 1000 Memory limit(kb): 65535 Submission: 138 Accepted: 28 Descriptio ...
- 将js进行到底:node学习8
Node.js数据库篇--MongoDB 废话:现代web开发可以说完全是数据库驱动的,而对于我这样的PHP程序员来说,对Mysql向来十分钟情,MongoDB的兴起让我不能再对Mysql孤注一掷,& ...
- RocketMQ borker配置文件
master节点:serverSelectorThreads = 3 brokerRole = SYNC_MASTER serverSocketRcvBufSize = 131072 osPageCa ...
- 如何安装及使用honmaple社区程序 · honmaple's blog · 风落花语风落天,花落风雨花落田.
Table of Contents 1. 如何安装及使用 1.1. 安装需要的package 1.2. 配置config 1.3. 注释下面代码 1.4. 初始化数据库 1.5. 创建管理员账户 2. ...
- 强制迁移、合区 APP太强势伤害用户同时是否违法?
APP太强势伤害用户同时是否违法?" title="强制迁移.合区 APP太强势伤害用户同时是否违法?"> 对于经常混迹在国内各大手游的玩家来说,"合区& ...
- LeetCode 225题用队列实现栈(Implement Stack using Queues) Java语言求解
链接 https://leetcode-cn.com/problems/implement-stack-using-queues/ 思路 首先演示push()操作:将元素依次进入队1,进入时用top元 ...
- C++走向远洋——63(项目二2、两个成员的类模板)
*/ * Copyright (c) 2016,烟台大学计算机与控制工程学院 * All rights reserved. * 文件名:text.cpp * 作者:常轩 * 微信公众号:Worldhe ...
- github浏览器无法访问,并且idea无法push项目
github浏览器无法访问,并且idea无法push项目 原因:前一晚还能正常访问github,今天就无法提交项目了.前一步的操作为删库,然后改库.估计是因为dns出现了问题,具体问题不知道. 网上一 ...
- 一位资深程序员大牛推荐的Java技术学习路线图
Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python. 可以说,Java是现阶段中国互联网公司中,覆盖 ...
- 【WPF学习】第五十三章 动画类型回顾
创建动画面临的第一个挑战是为动画选择正确的属性.期望的结果(例如,在窗口中移动元素)与需要使用的属性(在这种情况下是Canvas.Left和Canvas.Top属性)之间的关系并不总是很直观.下面是一 ...