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

  1. 在Spring Boot中使用数据缓存

    春节就要到了,在回家之前要赶快把今年欠下的技术债还清.so,今天继续.Spring Boot前面已经预热了n篇博客了,今天我们来继续看如何在Spring Boot中解决数据缓存问题.本篇博客是以初识在 ...

  2. SpringMvc中的数据校验

    SpringMvc中的数据校验 Hibernate校验框架中提供了很多注解的校验,如下: 注解 运行时检查 @AssertFalse 被注解的元素必须为false @AssertTrue 被注解的元素 ...

  3. 【SpringMVC学习06】SpringMVC中的数据校验

    这一篇博文主要总结一下springmvc中对数据的校验.在实际中,通常使用较多是前端的校验,比如页面中js校验,对于安全要求较高的建议在服务端也要进行校验.服务端校验可以是在控制层conroller, ...

  4. 【Spring】SpringMVC中浅析Date类型数据的传递

    在控制器中加入如下代码: @InitBinder public void initBinder(ServletRequestDataBinder bin){ SimpleDateFormat sdf ...

  5. Spring|SpringMVC中的注解

    文章目录 一.Spring注解 @Controller @ResuController @Service @Autowired @RequestMapping @RequestParam @Model ...

  6. SpringMVC 05: SpringMVC中携带数据的页面跳转

    SpringMVC默认的参数对象 SpringMVC默认的参数对象是指,不用再另行创建,相当于SpringMVC内置对象,可以直接声明并使用 默认的参数对象有:HttpServletRequest,H ...

  7. spring+springMVC中使用@Transcational方式管理事务的必须要配的东西。

    spring中管理事务的配置方式除了@Transcational还有使用aop等,本文介绍@Transcational方式. 关于这两种方式的选择: aop方式适合需要支持事务的方法或类较多,且方法和 ...

  8. springmvc中的数据传递

    import javax.servlet.http.HttpServletRequest; import org.springframework.stereotype.Controller; impo ...

  9. IntelliJ IDEA 14.0.3 实战搭建Spring+SpringMVC+MyBatis组合框架

    简介 Spring+SpringMVC+MyBatis框架(SSM)是比较热门的中小型企业级项目开发的框架,对于新手来说也是比较容易学习入门的.虽说容易,但在框架搭建过程中仍然遇到了许多问题,因此用实 ...

随机推荐

  1. 基于PHP构建OAuth 2.0 服务端 认证平台

    OAuth2.0 认证服务 安装 你可以在github上下载OAuth Server PHP,也可以用下列命令下载,不过内容都是一样的 mkdir my-oauth2-walkthrough cd m ...

  2. 2017年11月8日最新仿互站导航t5友价商城-9套模板首页都增加微信登陆

    今天测试效果如下,直接看图吧,入口在下方,点击图片直达 把9套餐模板都添加了微信首页登陆,仿互站的导航,操作比互站还要方便,官方一直对https 支持不太友好,索性把所有的https bug都修复了, ...

  3. CSS3提交意见输入框样式

    做了个输入框样式,如图: CSS代码例如以下: #button { cursor:pointer; width:30%; margin:5px; padding:8px; border-radius: ...

  4. CAD块参照转实体

    经常,需要在CAD中插入块,比如图框,它的类型是INSERT,而不是Line和PolyLine.一般情况下,我们是不会去编辑它的,但有的时候需要选择它,比如在选择打印范围时,默认为过滤掉INSERT类 ...

  5. Your account already has a signing certificate for this machine but it is not present in your keycha

    转载自:https://blog.csdn.net/csdn2314/article/details/73124117 Your account already has a signing certi ...

  6. Sqlite执行insert or ignore 或insert or replace语句。

    Sqlite执行insert or ignore 或insert or replace语句. ,); ,); 上面的第一条语句是每次执行时,如果不存在,则添加,如果存在,则更新. 上面的第二条语句是每 ...

  7. oneinstack一键部署linux生产环境那点事(ubuntu)

    http://oneinstack.com/install/ (1)将oneinstack-full.tar.gz最新版安装文件上传至/usr/local/下 (2)解压tar xzvf oneins ...

  8. switch omega - VNP

    文件下载 安装插件 1.Chrome地址栏输入:chrome://extensions/ 2.将附件拖入窗口,安装

  9. MongoDB副本集配置系列一:安装MongoDB

    1:下载MongoDB 2.6版本 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-2.6.9.zip 2:解压 tar ...

  10. ES5学习笔记

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7234053.html 一:基础 1:语法 ECMAScript 中的变量无特定的类型,定义变量时只用 var ...