当前位置: 代码迷 >> 综合 >> springMVC自定义数据绑定-Converter
  详细解决方案

springMVC自定义数据绑定-Converter

热度:38   发布时间:2023-12-12 17:58:56.0

Converter 

函数式接口

?¨è?é???????è?°

能够将任意类型转换为指定的任意类型:
S是源类型,T是目标类型。
比如字符串->日期


import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;import org.springframework.core.convert.converter.Converter;public class DateConverter implements Converter<String, Date>{private String pattern = "yyyy-MM-dd HH:mm:ss,s";@Overridepublic Date convert(String arg0) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat(pattern);try{return simpleDateFormat.parse(arg0);} catch(ParseException parseException) {throw new IllegalArgumentException("this pattern"+pattern);}}}

配置文件添加配置

<!-- 显示的装配自定义类型转换器 --><mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven><!-- 自定义类型转换器配置 --><bean id="conversionService"class="org.springframework.context.support.ConversionServiceFactoryBean"><property name="converters"><set><bean class="my_convert.DateConverter"></bean></set></property></bean>

 页面

<%@ page language="java" contentType="text/html; charset=utf-8"pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>converter Date</title>
</head>
<body><form action="test/getDate" method="get"><input type="text" name="date"><br/><input type="submit" value="提交"></form>
</body>
</html>

controller

    @RequestMapping("/toDate")public String toDate(){return "date";}@RequestMapping("/getDate")public String converterDate(Date date,Model model){model.addAttribute("message", date);return "first";}

 

  相关解决方案