使用Spring MVC实现数据绑定
使用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实现数据绑定的更多相关文章
- Spring MVC中数据绑定(转)
Spring MVC中数据绑定 比如Product有一个createTime属性,是java.util.Date类型.那么最简单的转型处理是,在SimpleFormController中覆盖initB ...
- Java Web 学习(5) —— Spring MVC 之数据绑定
Spring MVC 之数据绑定 数据绑定是将用户输入绑定到领域模型的一种特性. Http 请求传递的数据为 String 类型,通过数据绑定,可以将数据填充为不同类型的对象属性. 基本类型绑定 @R ...
- Spring MVC @InitBinder 数据绑定 & 数据格式化 & 数据校验
1 数据绑定 2 数据格式化 修改绑定的字段等等操作 日期 - 接收表单日期字符串格式内容.,在实体类加入@DateTimeFormat 数值 原理: DefautFormattingConversi ...
- Spring MVC 实践 - Component
Spring MVC 实践 标签 : Java与Web Converter Spring MVC的数据绑定并非没有任何限制, 有案例表明: Spring在如何正确绑定数据方面是杂乱无章的. 比如: S ...
- Spring企业级程序设计 • 【第5章 Spring MVC快速入门】
全部章节 >>>> 本章目录 5.1 Spring MVC设计概述及其框架结构 5.1.1 Spring MVC介绍 5.1.1 Spring MVC优势 5.1.2 S ...
- spring mvc 数据绑定
1.spring mvc 默认提供的数据绑定类 private List<HandlerMethodArgumentResolver> getDefaultArgumentResolver ...
- Spring MVC 数据绑定流程分析
1. 数据绑定流程原理★ ① Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFactory 实例,以创建 Data ...
- Spring MVC数据绑定(一)
1.数据绑定介绍 在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中.这种将请求消息数据与后台方法参数建立连接的过程就是Spr ...
- spring mvc 框架运行机制 + 数据绑定原理
spring mvc 运行主要的组件: 1 前端控制器 (dispatchservlet) 相当于一个重要处理器,它用来调用其他功能模块来分工的效应一次请求,主要起调度的作用. 2. handler ...
随机推荐
- Linux unalias命令 取消别名
unalias 提示:命令行处理别名仅为临时取消别名,重启系统后就失效了 [root@MongoDB ~]# alias |grep cp alias cp='cp -i' [root@MongoDB ...
- JS变量类型与计算
一.题目 1.JS中使用typeof能得到哪些类型? 2.何时使用===何时使用==? 3.JS中有哪些内置函数? 4.JS变量按照存储方式区分为哪些类型,并描述其特点? 5.如何理解JSON? 知识 ...
- 白话skynet第二篇:skynet的通信调试pack和sprotol
今天来说说Skynet客户端和服务端网络通信的基础部分. Skynet当前版本.lua是skynet自带的5.3版本. 根据示例,我们可以知道.通信的步骤如下. 客户端按大小端打包成二进制. sock ...
- Python科学计算学习之高级数组(二)
代码性能和向量化 背景:Python是一种解释型的编程语言,基本的python代码不需要任何中间编译过程来得到机器代码,而是直接执行.而对于C.C++等编译性语言就需要在执行代码前将其编译为机器指令. ...
- 分享一个不错的Unittest测试报告
分享一个不错的,unittest测试报告. 先上图: 代码如下: 复制下来保存成py可用 #coding=utf-8 """ A TestRunner for use w ...
- node+webpack+vue-cli
安装nodejs + 安装webpack + 安装vue-cli+安装脚手架模板+安装依赖+运行 1 安装nodejs 去官网安装node.js( http://www.runoob.com/nod ...
- 递归函数 Vue ElementUI
对树形菜单的递归操作,首先应该对树形菜单数据进行整理,优化成自己需要的类型 比如Vue + ElementUI的动态侧边栏数据 export function routerRoleToPretty ( ...
- hadoop集群的规划和搭建
1.操作系统版本:CentOS 6 CM版本:CM5.x CDH版本:CDH5.x 2.安装操作系统,对系统盘做 RAID1: 配置静态IP.hostname信息:vim /etc/sysconfig ...
- ssl证书 以及phpstudy配置ssl证书
首先,确保你的Apache编译了SSL模块,这是支持SSL证书必要的条件(如果没有,请编译,[打开phpstudy]>[其他选项菜单]>[PHP扩展]>[php-openssl]前面 ...
- SpringBoot整合Apache Shiro权限验证框架
比较常见的权限框架有两种,一种是Spring Security,另一种是Apache Shiro,两种框架各有优劣,个人感觉Shiro更容易使用,更加灵活,也更符合RABC规则,而且是java官方更推 ...