包括了基本数据类型的传递和 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类型数据的传递的更多相关文章

  1. 在oracle中存入date类型数据遇到的问题及其解决方法(利用java.sql.date和Timestamp)

    转自:https://blog.csdn.net/ShadowerWArden/article/details/80652377 1. 使用JDBC操作Oracle数据库时,使用java.sql.Da ...

  2. Spring的controller接受Date类型数据,接受枚举类型数据

    1. Controller接收Date类型的数据 核心使用@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") 来将传递过来的时间字符串 ...

  3. 【Spring】SpringMVC中浅析数据的传递方式

    包括了基本数据类型的传递和 Date数据类型的传递.关于SpringMVC的配置可以参见基于注解实现SpringMVC+MySQL 假设有表单页面如下: <h1>登录</h1> ...

  4. SpringMVC 处理Date类型数据@InitBinder @DateTimeFormat 注解 的使用

    使用SpringMVC的时候,需要将表单中的日期字符串转换成对应JavaBean的Date类型,而SpringMVC默认不支持这个格式的转换,解决方法有两种,如下: 方法一 . 在需要日期转换的Con ...

  5. 向mysql中插入Date类型的数据

    先看数据库表的定义 date字段为sql.date类型.我要向其中插入指定的日期和当前日期. 一.插入当前日期 思路:先获取当前系统,在将当前系统时间转换成sql类型的时间,然后插入数据库.代码如下 ...

  6. DATE类型数据在MySql中减一天的问题

    最近在开发一个教务管理系统,数据库中有教师表(Teacher).学生表(Student)等,其中属性:出生日期(Birthday)为DATE类型. 在执行更新教师操作时,发现未改动教师的出生日期但更新 ...

  7. SpringMVC中使用Json传数据

    在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...

  8. JavaScript中的Date类型

    ECMAScript中的Date类型是在早起Java中的java.util.Date类基础上构建的.为此,Date类型使用自UTC(Coordinated Universal Time,国际协调时间) ...

  9. springmvc对于前台date类型注意点

    springmvc,可以自动将数据注入到: “name”值相同,便注入,比如String Integer 还有我们自定义的bean,比如User. 但是date类型的数据,如果前台传的是用" ...

随机推荐

  1. 【C#公共帮助类】 Utils 10年代码,最全的系统帮助类

    为大家分享一下个人的一个Utils系统帮助类,可能有些现在有新的技术替代,自行修改哈~ 这个帮助类主要包含:对象转换处理 .分割字符串.截取字符串.删除最后结尾的一个逗号. 删除最后结尾的指定字符后的 ...

  2. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  3. eclipse,myeclipse 误删文件,回滚历史文件操作

    昨天因为误操作把一个写了一上午的代码给删了,找到的这个,以前竟然还没发现有这个功能- -! 具体操作: 1.建立同路径同名的文件 2.文件上右键 --> Compare With --> ...

  4. 《开源博客Q群》和《NET上海Q群》入群须知

    开源博客Q群 群名:<嗨-博客> 群号:469075305(已满) 491585006(New) 群简介:“我们每个猿都有一个搭建自己独立博客的梦”. 入群要求: 您可以是HR,私聊管理员 ...

  5. linux笔记

    1 动态查看日志 tail -f filename tail -1000f filename 2 解压当前目录内容为xxx.zip  zip -r xxx.zip ./* 3 查看内存使用情况 fre ...

  6. 游戏编程系列[2]--游戏编程中RPC与OpLog协议的结合--序

    在系列[1]中,我们展示了RPC调用协议的定义以及演示,通过方法定义以及协议约定,进行了协议约定以及调用过程的约定.然而,实际上在游戏中,调用过程之后,需要传输相对多的数据给服务端. 常用场景,客户端 ...

  7. [Java定时器]用Spring Task实现一个简单的定时器.

    今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...

  8. Android笔记——Handler Runnable与Thread的区别

    在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的run() ...

  9. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(16)-权限管理系统-漂亮的验证码

    系列目录 我们上一节建了数据库的表,但我发现很多东西还未完善起来,比如验证码,我们先做好验证码吧,验证码我们再熟悉不过了,为了防止恶意的登录,我们必须在登录页面加入验证码,下面我将分享一个验证码,这个 ...

  10. 2. Struts2 基础

    1. Struts2简介 Struts2是一个WEB端MVC框架.作为比较早的MVC 框架之一,Struts2在使用中还是比较多的.虽然个人感受没有SpringMVC还那么的好用 Struts2 官网 ...