使用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. 04.常量变量和数据类型(const)

    1.关键字 2.数据类型 告诉编译器定义一个类型变量的空间! 3.常量 4.变量 在程序运行过程中,值可以改变 变量在使用前必须先定义,定义变量前必须有相应的数据类型 标识符命名规则: (1).标识符 ...

  2. C++ STL学习之 空间配置器(allocator)

    众所周知,一般情况下,一个程序包括数据结构和相应的算法,而数据结构作为存储数据的组织形式,与内存空间有着密切的联系. 在C++ STL中,空间配置器便是用来实现内存空间(一般是内存,也可以是硬盘等空间 ...

  3. 了解JVM运行时的内存分配

    了解JVM运行时的内存分配 前言 上文中,在介绍运行时数据区域中的 JAVA 堆时,提到了 JVM 中的堆,一般分为三大部分:新生代.老年代.永久代,本文将进一步了解运行时的内存分配情况. 正文 1. ...

  4. API网关学习及介绍

    一.什么是API网关 API网关是一个服务器,是系统的后端统一入口.首先,它会提供最基本的路由服务,将调用转发到上游服务.其次,作为一个入口,它还可以进行认证,鉴权,限流等操作,对上游服务保护.所以说 ...

  5. vi命令插入

    1.插入 i :在当前光标前插入 I:在当前行的行首插入 a:在当前光标后插入 A:在当前行的行尾插入 o:在当前行的下面另起一行插入 O:在当前行的上面另起一行插入 s:删除当前光标的字符并开始插入 ...

  6. windows下安装配置postgreSQL

    1.下载 postgresql-10.4-1-windows-x64.exe 进行安装 2.环境配置(1)文本使用的IDE是VS2010,我们需要配置包含目录(include).库目录(lib).链接 ...

  7. Xamarin.Forms 开发资源集合

    收集整理了下 Xamarin.Forms 的学习参考资料,分享给大家,稍后会不断补充: UI样式 Snppts: Xamarin Forms UI Snippets. Prebuilt Templat ...

  8. MailKit使用IMAP读取邮件找不到附件Attachments为空的解决方法

    今天发现有些邮件无法读取Attachments,邮件明明有附件,但使用Mailkit读取时,Attachments为空,我用的IMAP协议读取收件箱里的邮件,处理完后移动已删除: foreach (v ...

  9. jquery datetimepicker 日期时间控件的使用及参数说明

    首先下载 jquery.datetimepicker.css jquery.datetimepicker.main.js 1. 引入css和js (注:该控件要依赖于jquery) <link ...

  10. Linux Centos 删除除某(多)个文件之外的所有文件

    好久没有写东西了.通常我们通过rm -rf  *可以直接强制删除当前文件夹里面的所有内容,但是有些时候我们需要保留一些文件,就比如,网站转移更新需要保留程序压缩包等就需要用到在linux centos ...