包括了基本数据类型的传递和 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. Sublime Es6教程2-基本语法

    2.基本语法 let, const, forEach,for of class, extends, super arrow functions, template string, destructur ...

  2. KVM 虚拟化技术

    1.1 前言 1.1.1 什么是虚拟化? 在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU.内存.磁盘空间.网络适配器 ...

  3. 谷哥的小弟学前端(10)——JavaScript基础知识(1)

    探索Android软键盘的疑难杂症 深入探讨Android异步精髓Handler 具体解释Android主流框架不可或缺的基石 站在源代码的肩膀上全解Scroller工作机制 Android多分辨率适 ...

  4. iOS开发技巧 - 使用UISlider来调整值的范围

    (Swift) import UIKit class ViewController: UIViewController { var slider: UISlider! func sliderValue ...

  5. ububuntu配置ip和dns

    装完ubuntu 第一件事情就是连上网,换个源,进行更新操作,但前提条件是要配好ip和dns. 下面把自己配置的过程记录下来,权且当作一份备份,以便不时之需. 一.配置ip ubuntu的网络配置信息 ...

  6. 转:nginx模块开发——handler(一)

    handler模块简介 相信大家在看了前一章的模块概述以后,都对nginx的模块有了一个基本的认识.基本上作为第三方开发者最可能开发的就是三种类型的模块,即handler,filter和load-ba ...

  7. anadroid环境搭建

    近期配置android 开发环境时,在网上搜寻诸多资料.文字一大堆,最没有解决这个问题,以下我谈一下我的配置之路: 一.开发环境需求原始资源: 1. jdk(java api):因为如今android ...

  8. sell 项目 订单表 设计 及 创建

    1.数据库设计 2.订单表 创建 /** * 订单表 */ create table `order_master` ( `order_id` varchar(32) not null, `buyer_ ...

  9. http2.0 特性

    1.HTTP 2.0将只用于https://网址,而 http://网址将继续使用HTTP/1. 查看http协议(chrome F12) 2.异步连接多路复用 HTTP2.0 把消息分解为独立帧,交 ...

  10. UVALive - 4618 Wormholes(负环)

    题目大意:给出出发点和终点和m个虫洞(虫洞的出发点.终点,生成时间和花费时间).问从起点到终点花费的最小时间 解题思路:关键是有负环,所以直接跑最短路算法的话会TLE.所以负环要处理一下 可是这个负环 ...