Spring MVC 类型转换
SpringMVC类型转换:
1 日期类型转换:
private Date birthday;
<label for="">生日:<input type="text" name="birthday" /></label><br />
针对日期类型,springmvc默认没有做类型转换,因此会报告400错误,此时需要配置日期类型转换器
1.1 在pojo层添加注解:@DateTimeFormat()
pattern:日期格式(前端传输的日期也必须是这个格式)
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date birthday;
1.2 自定义类型转换器
public class DateConverter implements Converter<String, Date>{
/**
* 将字符串转换成日期格式,重写convert方法
*/
@Override
public Date convert(String source) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
sdf.setLenient(false);//是否宽松解析:默认true
return sdf.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}
<!-- 配置注解驱动 -->
<mvc:annotation-driven conversion-service="myConversion" />
<!-- 类型转换器 -->
<bean id="myConversion" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<set>
<bean class="com.roxy.springmvc.converter.DateConverter"></bean>
</set>
</property>
</bean>
1.3 在controller中添加方法
@InitBinder
public void initBinder(ServletRequestDataBinder binder){
binder.registerCustomEditor(Date.class, new CustomDateEditor(new SimpleDateFormat("yyyy-MM-dd"), true));
}
2 对象类型转换:
前端传递的数据为String类型,而后台处理的是对象类型
public class UserConverter implements Converter<String, User>{
/**
* 将字符串转换成对象
*/
@Override
public User convert(String source) {
if(source != null) {
String[] split = source.split("|");
if(split != null && split.length == 3) {
String username = split[0];
Integer age = Integer.parseInt(split[1]);
String email = split[2];
String birday = split[3];
User user = new User();
user.setUsername(username);
user.setAge(age);
user.setEmail(email);
return user;
}
}
return null;
}
<bean class="com.roxy.springmvc.converter.UserConverter"></bean>
Spring MVC 类型转换的更多相关文章
- Spring MVC类型转换
类型转换器引入 为什么页面上输入"12",可以赋值给Handler方法对应的参数?这是因为框架内部帮我们做了类型转换的工作.将String转换成int 但默认类型转换器并不是可以将 ...
- Spring MVC JSON 实现JsonSerializer Date类型转换
转载至:http://blog.csdn.net/lantianzhange/article/details/40920933 在Spring MVC中存在两大类的类型转换,一类是Json,一个是Sp ...
- Spring MVC 使用介绍(八)—— 类型转换
一.概述 spring类型转换有两种方式: PropertyEditor:可实现String<--->Object 之间相互转换 Converter:可实现任意类型的相互转换 类型转换的过 ...
- 0060 Spring MVC的数据类型转换--ConversionService--局部PropertyEditor--全局WebBindingInitializer
浏览器向服务器提交的数据,多是字符串形式,而有些时候,浏览器需要Date.Integer等类型的数据,这时候就需要数据类型的转换器 使用Spring的ConversionService及转换器接口 下 ...
- Spring MVC JSON自己定义类型转换(续)
前面提到了两种转换类型的方法(Spring MVC JSON自己定义类型转换),这里针对Json转换提供一种更简便的方法. 通过配置全局的日期转换来避免使用麻烦的注解. 首先用到了一个简单的日期工具类 ...
- Spring MVC JSON自己定义类型转换
版权声明:版权归博主全部.转载请带上本文链接.联系方式:abel533@gmail.com https://blog.csdn.net/isea533/article/details/28625071 ...
- spring mvc绑定参数之 类型转换 有三种方式:
spring mvc绑定参数之类型转换有三种方式: 1.实体类中加日期格式化注解(上次做项目使用的这种.简单,但有缺点,是一种局部的处理方式,只能在本实体类中使用.方法三是全局的.) @DateTim ...
- Spring mvc参数类型转换
1,需求 有时候我们接收到的参数为String类型的,但是我们需要将它们转化为其他类型的如:date类型,枚举类型等等,spring mvc为我们提供了这样的功能. 2,配置文件 在springmvc ...
- Spring MVC 学习总结(二)——控制器定义与@RequestMapping详解
一.控制器定义 控制器提供访问应用程序的行为,通常通过服务接口定义或注解定义两种方法实现. 控制器解析用户的请求并将其转换为一个模型.在Spring MVC中一个控制器可以包含多个Action(动作. ...
随机推荐
- Linux或树莓派3——挂载U盘、移动硬盘并设置rwx权限
话说最近在树莓派上搭建了一个owncloud,因为树莓派的存储空间有限,就插了个16G的U盘,然后设置成开机自动挂载.这里稍微注意一下的是U盘的格式最好不要NTFS,因为一般情况下NTFS格式的文件系 ...
- MySql安装完成后,Navicat连接不上的问题
Navicat连接mysql8.0.1版本出现1251--Client does not support authentication protocol requested by server的解决 ...
- C#_从DataTable中检索信息
C#_从DataTable中检索信息 存在于内存中的虚拟表DataTable,绑定在数据显示控件后,如果想在再检索其中某些信息,可以利用DataTable.Select方法进行检索,避免了重复的读取数 ...
- SimpleEntity
项目地址 : https://github.com/kelin-xycs/SimpleEntity SimpleEntity 一个 用 C# 实现的 简单的 持久层 Entity 实现 . 这是一个 ...
- tp5闭包子查询传参方法
在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_chann ...
- python3.7安装
在Ubuntu系统带有原Python环境2.7,3.5,使用pyenv可以将其设置成最新的3.7.1,使用安装步骤如下:(防止丢失所以做了复制,复制来源:https://www.cnblogs.com ...
- 配置Hanlp自然语言处理进阶
中文分词 中文分词中有众多分词工具,如结巴.hanlp.盘古分词器.庖丁解牛分词等:其中庖丁解牛分词仅仅支持java,分词是HanLP最基础的功能,HanLP实现了许多种分词算法,每个分词器都支持特定 ...
- Ribbon 常用配置
配置参数 默认值 说明 <client>.<namespace>.listOfServers 配置服务器列表 <client>.<namespace>. ...
- 在Centos7上安装配置ss-libev Proxifier
http://note.youdao.com/noteshare?id=6f768652c33a64d6b8935eb08b10a213 servier:ss-libev client:ss+Prox ...
- CentOS6.5_64位系统下安装配置postfix邮件系统 启用并配置SMTP虚拟账户
http://blog.jjonline.cn/linux/185.html http://www.cnblogs.com/apexchu/p/4271264.html 用户新增和删除 http:// ...