【Spring】SpringMVC中浅析Date类型数据的传递
包括了基本数据类型的传递和 Date数据类型的传递。关于SpringMVC的配置可以参见基于注解实现SpringMVC+MySQL
假设有表单页面如下:
<h1>登录</h1>
<form action="login.do" method="post">
帐号:<input type="text" name="uname"/><br><br>
密码:<input type="password" name="upass"/><br><br>
<input type="submit" value="登录"/>
</form>
那么后台的Controller获取数据有三种方式
第一种:
通过@RequestParam注解
@RequestMapping("/login.do")
public String login1(@RequestParam("uname") String userName,@RequestParam("upass") String userPass){
System.out.println("登录的用户:"+userName+",他的密码是:"+userPass);
return null;
}
/*
* 我们也可以在接受数据的指定默认值,在接受用户登录的时候指定默认值显然不合适,下面只是为了距离,如:
@RequestMapping("/login.do")
public String login1(@RequestParam(value="uname",required=false,defaultValue="jame") String userName,@RequestParam(value="upass",required=false,defaultValue="123456") String userPass){
System.out.println("登录的用户:"+userName+",他的密码是:"+userPass);
return null;
}
*/
第二种:
将参数的名称和表单中参数的名称写成一致
@RequestMapping("/login.do")
public String login2(String uname,String upass){
System.out.println("第二种方式获取: 登录的用户:"+uname+",他的密码是:"+upass);
return null;
}
第三种:
将表单中的参数封装为一个bean类,其中的属性必须和表中需要传递参数的名称一致
package cn.xdl.controller;
public class UserBean {
private String uname;
private String upass;
public String getUname() {
return uname;
}
public void setUname(String uname) {
this.uname = uname;
}
public String getUpass() {
return upass;
}
public void setUpass(String upass) {
this.upass = upass;
}
public UserBean(String uname, String upass) {
super();
this.uname = uname;
this.upass = upass;
}
public UserBean() {
super();
// TODO Auto-generated constructor stub
}
@Override
public String toString() {
return "UserBean [uname=" + uname + ", upass=" + upass + "]";
}
}
UserBean.java
Controller如下:
@RequestMapping("/login.do")
public String login3(UserBean ub){
System.out.println("第三种方式获取:"+ub);
return null;
}
下面介绍SpringMVC中Date数据类型的传递
在控制器中加入如下代码:
@InitBinder
public void initBinder(ServletRequestDataBinder bin){
/*
* SimpleDateFormat位于java.text.SimpleDateFormat
* 该对象除了使用给定的日期模式构造对象,还提供了两个常用的方法,
* public final String format(Date date) -- 继承自该类的父类,用于将Date对象转化为字符串
* public Date parse(String source) -- 继承自该类的父类,用于将字符串转化为Date对象
*/
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
CustomDateEditor cust = new CustomDateEditor(sdf,true);
bin.registerCustomEditor(Date.class,cust);
}
这样注解之后,前端传过来的String类型的数据就可以在控制器方法参数中自动转化为Date类型数据:
@RequestMapping(value="/index2")
public String helloaction2(Date date){ //这里的参数自动将String转化为date类型 return "index";
}
原文链接:http://blog.csdn.net/javaloveiphone/article/details/53745068
【Spring】SpringMVC中浅析Date类型数据的传递的更多相关文章
- 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)
转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...
- Spring的controller接受Date类型数据,接受枚举类型数据
1. Controller接收Date类型的数据 核心使用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 来将传递过来的时间字符串 ...
- 【Spring】SpringMVC中浅析数据的传递方式
包括了基本数据类型的传递和 Date数据类型的传递.关于SpringMVC的配置可以参见基于注解实现SpringMVC+MySQL 假设有表单页面如下: <h1>登录</h1> ...
- SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用
使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...
- 向mysql中插入Date类型的数据
先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...
- DATE类型数据在MySql中减一天的问题
最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...
- SpringMVC中使用Json传数据
在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...
- JavaScript中的Date类型
ECMAScript中的Date类型是在早起Java中的java.util.Date类基础上构建的.为此,Date类型使用自UTC(Coordinated Universal Time,国际协调时间) ...
- springmvc对于前台date类型注意点
springmvc,可以自动将数据注入到: “name”值相同,便注入,比如String Integer 还有我们自定义的bean,比如User. 但是date类型的数据,如果前台传的是用" ...
随机推荐
- System.Guid ToString五中格式
参考:https://msdn.microsoft.com/en-us/library/97af8hh4.aspx 测试代码: using System; using System.Collectio ...
- 用django创建一个项目
首先你得安装好python和django,然后配置好环境变量,安装python就不说了,从配置环境变量开始 1.配置环境变量 在我的电脑处点击右键,或者打开 控制面板\系统和安全\系统 -> 左 ...
- springmvc+mybatis+spring 整合 bootstrap html5
A 调用摄像头拍照,自定义裁剪编辑头像 [新录针对本系统的视频教程,手把手教开发一个模块,快速掌握本系统]B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,开发利器)+快速构建表单; 技 ...
- 常用 meta 整理
<!-- 针对手持设备优化,主要是针对一些老的不识别viewport的浏览器,比如黑莓 --> <meta name="HandheldFriendly" con ...
- iOS 小知识点(持续更新)
1.如何通过代码设置Button title的字体大小 设置Button.titleLabel.font = [UIFont systemFontOfSize:<#(CGFloat)#> ...
- 品牌营销:不要Beat,要逼格!
品牌营销:不要Beat,要逼格! 奥美的创始人大卫·奥格威说,广告营销应当是"具有风度的推销产品".而当下的营销手段,"风度"早已被抛之脑后, ...
- 解决Chrome 下载带半角分号出现net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION的问题
方式一:添加双引号Response.AddHeader("content-disposition", "attachment; filename=\"" ...
- C#迪杰斯特拉算法
C#迪杰斯特拉算法 网上有许多版本的,自己还是写一个理解点 Dijkstra.cs public class Dijkstra { private List<Node> _nodes; p ...
- 利用HAProxy代理SQL Server的AlwaysOn辅助副本
利用HAProxy代理SQL Server的AlwaysOn辅助副本 公司最近数据库升级到SQL Server2014 ,并部署了alwayson高可用集群 机房内有三套程序需要读取数据库 第一套:主 ...
- K-Means 聚类算法
K-Means 概念定义: K-Means 是一种基于距离的排他的聚类划分方法. 上面的 K-Means 描述中包含了几个概念: 聚类(Clustering):K-Means 是一种聚类分析(Clus ...