使用Spring MVC实现数据绑定

——Spring MVC支持将表单参数自动绑定在映射方法的参数。

①绑定标量数据

前端代码:

<form action="${pageContext.request.contextPath }/login.mvc" method="post">
用户名:<input name="username" type="text">
密码:<input name="password" type="text">
<input type="submit" value="登录">
</form>

后端代码:

 @RequestMapping(value="login",method=RequestMethod.POST)
public String login(String password,String username){
System.out.println("-登录-"+username);
return "/hello.jsp";
}
 

②绑定Java Bean对象

前端代码:

<form action="${pageContext.request.contextPath }/arruser.mvc" method="post">
用户名1:<input name="username" type="text">
用户名2:<input name="username" type="text">
用户名3:<input name="username" type="text">
<input type="submit" value="登录">
</form>

后端代码(JavaBean的类我就不写了)

 @RequestMapping(value="arruser",method=RequestMethod.POST)
public String login(String[] username){
System.out.println("-登录-"+ username[0]);
return "/hello.jsp";
}

③绑定数组

前端代码
<form action="${pageContext.request.contextPath }/arruser.mvc" method="post">
用户名1:<input name="username" type="text">
用户名2:<input name="username" type="text">
用户名3:<input name="username" type="text">
<input type="submit" value="登录">
</form>

后端代码

 @RequestMapping(value="arruser",method=RequestMethod.POST)
public String login(String[] username){
System.out.println("-登录-"+ username[0]);
return "/hello.jsp";
}

④绑定集合

前端代码

<form action="${pageContext.request.contextPath }/listuser.mvc" method="post">
用户名1:<input name="username" type="text">
密码1:<input name="password" type="text">
用户名2:<input name="username" type="text">
密码2:<input name="password" type="text">
<input type="submit" value="登录">
</form>

后端代码

 public class UsersModel {
private List<User> users;
public List<User> getUsers() {
return users;
}
public void setUsers(List<User> users) {
this.users = users;
}
}
 
@RequestMapping(value="listuser",method=RequestMethod.POST)
public String login(UsersModel userModel){
System.out.println("用户1:"+ userModel.getUsers()[0].getUsername());
return "/hello.jsp";
}

——注意事项

① Spring内置类型数据和标量类型绑定方法相同;②数组只支持Spring内置类型和标量类型的数据;③Spring MVC不支持将表单参数自动绑定在映射方法的集合参数,需要通过借助一个JavaBean的类型隐性实现

⑤数据的强制绑定

①@PathVariable注解:绑定路径参数;                             ②@CookieValue注解:绑定Cookie的值;

前端代码

<form action="${pageContext.request.contextPath}/zhangsan/login.action" method="post">
密码:<input name="psw" type="text">
<input type="submit" value="登录">
</form>

后端代码

 @RequestMapping(value="/{username}/login",method=RequestMethod.POST)
public String login(@PathVariable String username, @RequestParam("psw") String password, @CookieValue(value="JSESSIONID") String cookie){
System.out.println("-登录-"+ cookie);
System.out.println("-用户-"+ username);
return "/hello.jsp";
}

③@RequestParam注解:通过设置参数名绑定指定参数或绑定表单数据到Map容器。

前端代码

<form action="${pageContext.request.contextPath }/login.mvc" method="post">
用户名:<input name="username" type="text">
密码:<input name="password" type="text">
<input type="submit" value="登录">
</form>

后端代码

 @RequestMapping(value="login",method=RequestMethod.POST)
public String login(@RequestParam Map<String,Object> user){
System.out.println("-登录-"+ user.get("username"));
return "/hello.jsp";
}

———————————————————————————————————————————————————————————————————

The end   万有引力+

-

-

-

-

-

使用Spring MVC实现数据绑定的更多相关文章

  1. Spring MVC中数据绑定(转)

    Spring MVC中数据绑定 比如Product有一个createTime属性,是java.util.Date类型.那么最简单的转型处理是,在SimpleFormController中覆盖initB ...

  2. Java Web 学习(5) —— Spring MVC 之数据绑定

    Spring MVC 之数据绑定 数据绑定是将用户输入绑定到领域模型的一种特性. Http 请求传递的数据为 String 类型,通过数据绑定,可以将数据填充为不同类型的对象属性. 基本类型绑定 @R ...

  3. Spring MVC @InitBinder 数据绑定 & 数据格式化 & 数据校验

    1 数据绑定 2 数据格式化 修改绑定的字段等等操作 日期 - 接收表单日期字符串格式内容.,在实体类加入@DateTimeFormat 数值 原理: DefautFormattingConversi ...

  4. Spring MVC 实践 - Component

    Spring MVC 实践 标签 : Java与Web Converter Spring MVC的数据绑定并非没有任何限制, 有案例表明: Spring在如何正确绑定数据方面是杂乱无章的. 比如: S ...

  5. Spring企业级程序设计 • 【第5章 Spring MVC快速入门】

    全部章节   >>>> 本章目录 5.1 Spring MVC设计概述及其框架结构 5.1.1 Spring MVC介绍 5.1.1 Spring MVC优势 5.1.2  S ...

  6. spring mvc 数据绑定

    1.spring mvc 默认提供的数据绑定类 private List<HandlerMethodArgumentResolver> getDefaultArgumentResolver ...

  7. Spring MVC 数据绑定流程分析

    1.    数据绑定流程原理★ ①   Spring MVC 主框架将 ServletRequest  对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 Data ...

  8. Spring MVC数据绑定(一)

    1.数据绑定介绍 在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中.这种将请求消息数据与后台方法参数建立连接的过程就是Spr ...

  9. spring mvc 框架运行机制 + 数据绑定原理

    spring mvc 运行主要的组件: 1 前端控制器 (dispatchservlet) 相当于一个重要处理器,它用来调用其他功能模块来分工的效应一次请求,主要起调度的作用. 2. handler ...

随机推荐

  1. #20175201 实验二:Java面向对象程序设计

    20175201 实验二:Java面向对象程序设计 实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L ...

  2. 405 Method Not Allowed error with PUT or DELETE Request on IIS Server

    昨天手贱去一台服务器上装了Webdav. 一开始以为这个报错是跨域问题, 最近一直遇到用自动的publish发布到FTP出问题也就没想到是Webdav的问题 而且这东西装了还不能删除 处理办法 IIS ...

  3. 运维面试题之linux基础

    吐槽: 某某命令是什么,某个配置文件的路径,呃....你难道不知道有--help和Tab这种东西吗? linux系统的启动过程是怎么样的? grub引导>加载内核>启动init进程依据in ...

  4. iframe子页面与父页面元素的访问以及js变量的访问

    1.子页面访问父页面元素  parent.document.getElementById('id')和document相关的方法都可以这样用 2.父页面访问子页面元素  document.getEle ...

  5. Debian下安装中文包和输入法

    Debian下安装中文包和输入法 #aptitude install locales(没有aptitude的话可以先安装apt-get insall aptitude )  #dpkg-reconfi ...

  6. RAID技术详解

    RAID:Redundant Array of Independent Disks 中文我们称为独立冗余磁盘阵列.基本上是见名知意.RAID的基本思想就是将多个容量较小且价格实惠的磁盘进行组合起来构成 ...

  7. JavaFX-Stage

    1.Stage类继承自Window类,继承了Window类的show()方法,Stage的close()方法实际上是调用了继承自Window类的hide()方法.另外还有Window的setOpaci ...

  8. Python伊始——From Boring to Amazing

    先来谈一下关于Python编程语言的浅薄认知,“一门编程课,仅此而已”这是我几个月前对这门应用技术的认识. 如今看来,却不只是“仅此而已”,作为今年年初被加入计算机二级考试科目的这门技术,或许并不是它 ...

  9. 信步漫谈之Jenkins—集成自动化部署 SVN 项目

    一.环境准备 1)Jenkins 部署 WAR 包:jenkins.war(2.164.2 版本,WAR 包官方下载路径:https://jenkins.io/download/)2)Tomcat 服 ...

  10. springboot使用@data注解,减少不必要代码

    一.idea安装lombok插件 二.重启idea 三.添加maven依赖 <dependency> <groupId>org.projectlombok</groupI ...