使用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. 汇编-10.0-CALL和RET指令

    call和ret指令都是转移指令,他们都是修改IP,或同时修改CS和IP.它们常被共同用来实现子程序设计. 1.ret和retf ret指令用栈中的数据,修改IP的内容,从而实现近转移: retf指令 ...

  2. C#递归复习

    static void Main(string[] args) {  Console.WriteLine("请输入你要的数字:");  long flag = Convert.To ...

  3. 2018-2019-2 网络对抗技术 20165321 Exp6 信息搜集与漏洞扫描

    1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 百度查找IP地址: 查了一下kali的IP地址 https://fofa.so/的使用: 查询了一 ...

  4. OO第二次博客

    过去三周里,我们完成了多线程电梯的程序设计与构造.这是我第一次接触多线程编程.我感觉最大的困难在于多个线程中的操作,谁先谁后,不是像以前写的单线程程序那样严格确定,所以心里常常会比较慌.尤其是因为多线 ...

  5. nvidia-smi 实时查看

    需要用到 watch 命令: watch -n nvidia-smi

  6. 基于FPGA的视频时序生成

    之前用FPGA做过视频时序方面的设计,现将视频时序的设计方法分享给大家,希望对大家有所帮助. 时序部分可以参考CEA-861D,VESA时序标准. 1080P一帧视频中,一行有2200个像素,其中28 ...

  7. live Templates 活动模板. 配置完之后,就可以快速编码-代码块

    配置:live Templates 活动模板. 配置完之后,就可以快速编码-代码块. 输入startflask敲回车:   就会生成代码:   怎么做到的呢? 如下:   注意第七步: 原本不是cha ...

  8. python3下爬取网页上的图片的爬虫程序

    import urllib.request import re #py抓取页面图片并保存到本地 #获取页面信息 def getHtml(url): html = urllib.request.urlo ...

  9. BP神经网络(原理及MATLAB实现)

    人工神经网络概述: 人工神经元模型: 神经网络的分类: 按照连接方式,可以分为:前向神经网络 vs. 反馈(递归)神经网络: 按照学习方式,可以分为:有导师学习神经网络 vs. 无导师学习神经网络: ...

  10. mysql_study_5

    代码 mysql> CREATE TABLE shop ( ) UNSIGNED ZEROFILL ' NOT NULL, ) DEFAULT '' NOT NULL, ,) DEFAULT ' ...