SpringMVC中自定义(日期)类型转换器 您所在的位置:网站首页 日期格式转换器 SpringMVC中自定义(日期)类型转换器

SpringMVC中自定义(日期)类型转换器

2023-09-09 02:03| 来源: 网络整理| 查看: 265

目录 说明解决办法效果展示

说明

注意:表单提交的任何数据类型全部都是字符串类型,但是后台定义Integer类型,数据也可以封装上,说明Spring框架内部会默认进行数据类型转换。

解决办法

1、自定义类型转换器,实现Converter的接口

StringToDateConverter类:

package com.Keafmd.utils; import org.springframework.core.convert.converter.Converter; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** * Keafmd * * @ClassName: StringToDateConverter * @Description: 把字符串转换成日期的转换器 * @author: 牛哄哄的柯南 * @date: 2021-01-24 19:27 */ public class StringToDateConverter implements Converter { @Override public Date convert(String s) { if(s==null){ throw new RuntimeException("请传入数据"); } DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); try { //把字符串转为日期 return dateFormat.parse(s); } catch (ParseException e) { throw new RuntimeException("数据类型转换错误"); } } }

2、注册自定义类型转换器,在springmvc.xml配置文件中编写配置。

效果展示

User类:

package com.Keafmd.domain; import java.io.Serializable; import java.util.Date; /** * Keafmd * * @ClassName: User * @Description: * @author: 牛哄哄的柯南 * @date: 2021-01-24 16:14 */ public class User implements Serializable { private String uname; private Integer age; private Date birthday; public String getUname() { return uname; } public void setUname(String uname) { this.uname = uname; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Date getBirthday() { return birthday; } public void setBirthday(Date birthday) { this.birthday = birthday; } @Override public String toString() { return "User{" + "uname='" + uname + '\'' + ", age=" + age + ", birthday=" + birthday + '}'; } }

控制器代码:

package com.Keafmd.controller; import com.Keafmd.domain.Account; import com.Keafmd.domain.User; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.ServletContext; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Keafmd * * @ClassName: ParamController * @Description: * @author: 牛哄哄的柯南 * @date: 2021-01-24 15:57 */ @Controller @RequestMapping("/param") public class ParamController { /** * 自定义类型转换器 * @param user * @return */ @RequestMapping("/saveUser") public String testParam(User user){ System.out.println(user); return "success"; } }

jsp代码:

请求参数绑定 用户姓名: 用户年龄: 用户生日:

浏览器输入: 在这里插入图片描述 输出结果:

User{uname='牛哄哄的柯南', age=21, birthday=Sat Jan 01 00:00:00 CST 2000}

以上就是SpringMVC中自定义(日期)类型转换器的全部内容。

看完如果对你有帮助,感谢点赞支持! 如果你是电脑端的话,看到右下角的 “一键三连” 了吗,没错点它[哈哈] 在这里插入图片描述

加油!

共同努力!

Keafmd



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有