springmvc基础知识(5):springmvc数据类型转换

  • 在web中前台提交过来的表单数据都是字符串类型的,而在springmvc的处理方法里,使用方法参数接收的参数可以自动转换一些类型。
  • 其实在开启springmvc容器时默认为我们开启了一些基本的类型转换器。比如字符串转化为Int、转换成实体等。
  • 但是有的时候这些基本的转换并不能满足我们的所有需求,这时候就需要自定义一些类型转换。

使用spring定义好的注解转换

@DateTimeFormat注解
可以将指定格式的字符串转换为Date类型
用法:
1).在xml配置文件中必须配置:<mvc:annotaton-driven/>

2).直接在参数上注解,也可以在实体类的属性中注解

  • 在参数上注解
@RequestMapping("/dateTimeFormat.do")
public String dateFormat(@DateTimeFormat(pattern = "yyyy-MM-dd") Date birthday){
    System.out.println(dateStr);
    return "success";
}
  • 会自动将前台传过来的name=”birthday”的数据传换成Date类型,
  • 必须要注意的是前台传过来的格式必须要和注解指定的一样才行,否则报错。
  • 在实体中注解
public class User {

    private String userName;

    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date birthday;
    ...

然后处理方法中直接用这个实体接收参数

spring给我们定义好了一些固定的格式,这里就不详细讲了。


@NumberFormat注解
使用@NumberFormat注解转换Number,使用方法基本同上
@NumberFormat(pattern=”###,###.###”)
这里和上面相同,pattern指定的是接收的数据需要按照这个格式才能进行转换。
比如@NumberFormat(pattern=”###,###.###”)这个就可以将1,000.000转化为1000000 number类型
这个注解定义了一些常用格式,
使用style属性,几个常用值:
— Style.CURRENCY: 货币类型
— Style.NUMBER: 正常数字类型
— Style.PERCENT: 百分比类型


使用PropertyEditor进行数据转换

相关内容可以查看博文 - - PropertyEditor应用

使用Formatter进行数据转换

相关内容可以查看博文 - - Converter的应用

使用Converter进行数据转换

相关内容可以查看博文 - - Formatter的应用


猜你喜欢

转载自blog.csdn.net/abc997995674/article/details/80383815
今日推荐