springMVC自定义类型转换

目录

🍋🍊自定义的转换类

🍋🍊xml文件中添加配置

🍋🍊测试

SpringMVC 底层已经封装了很多的类型转换器,也就是为什么我们页面上传的字符串可以使用 Integer接收或者可以直接转换为数组的原因。 并不是所有类型的字符都可以正常转换,比如日期字符 “yyyy/mm/dd” 可以正常转换,而 “yyyy-mm-dd” 就不能转换。

针对特殊情况,我们使用自定义类型转换器进行处理

创建一个类实现converter<S,T>接口并重写 converter()方法。

注意converter接口所在包:import org.springframework.core.convert.converter.Converter;

自定义的转换类

package com.soft.component;import org.springframework.core.convert.converter.Converter;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class StringtoDateConverter implements Converter<String,Date> {public Date convert(String s) {//非空判断if(s == null || "".equals(s)){return null;}//设置格式,解决传给后台的s字符串形如:xxxx-xx-xx,我们处理成xxxx/xx/xxSimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy/MM/dd");String str = s.replaceAll("-", "/");Date date = null;try {date = simpleDateFormat.parse(str);} catch (ParseException e) {throw new RuntimeException(e);}return date;}
}

泛性中的类型,第一个为接收来的数据的类型,第二个为要转换为的类型

比如:现在我们要将接受来的字符串类型数据,处理转换为Date类型,所以写为 Converter<String,Date>

xml文件中添加配置

<!-- 类型转换器服务工厂 -->
<bean id="conversionService"
class="org.springframework.context.support.ConversionServiceFactoryBean">
<property name="converters">
<set>
<!--把自定义类型转换器注册到服务中-->
<bean class="com.soft.converter.StringToDateConverter"/>
</set>
</property>
</bean>

测试

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525096.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

手写简易操作系统(二)--启动计算机

前情提要 在上一部分的内容中&#xff0c;我们已经做好了模拟仿真的整个准备工作&#xff0c;这一节我们就先把计算机启动起来。 一、Bochs配置 1.1、配置启动盘 创建硬盘的工具是bximage&#xff0c;这个工具在我们的Bochs目录下&#xff0c;使用命令行创建硬盘 第一个选择…

华为新发布磁电存储“王炸”,到底是什么?

最近&#xff0c;在巴塞罗那举行的2024年世界移动通信大会&#xff08;MWC24&#xff09;上&#xff0c;华为数据存储产品线总裁周彼得博士介绍了这款即将面世的产品。他向听众表示&#xff0c;与磁带存储相比&#xff0c;该设备可以降低20%的总连接成本&#xff0c;而与硬盘相…

如何在Linux上为PyCharm创建和配置Desktop Entry

在Linux操作系统中&#xff0c;.desktop 文件是一种桌面条目文件&#xff0c;用于在图形用户界面中添加程序快捷方式。本文将指导您如何为PyCharm IDE创建和配置一个 .desktop 文件&#xff0c;从而能够通过应用程序菜单或桌面图标快速启动PyCharm。 步骤 1: 确定PyCharm安装路…

c#触发事件

Demo1 触发事件 <Window x:Class"WPFExample.MainWindow"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"Title"WPF Example" Height"600" Wi…

高度塌陷问题及解决

什么情况下产生 (when 父盒子没有定义高度&#xff0c;但是子元素有高度&#xff0c;希望用子盒子撑起父盒子的高度&#xff0c;但是子盒子添加了浮动属性之后&#xff0c;父盒子高度为0 <template><div class"father"><div class"son"&…

前端加密面面观:常见场景与方法解析

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

mtk平台ATF介绍

1、链接地址 uboot ATF 2、工具链 ARM 64位平台需要aarch64工具链&#xff0c;可以在staging_dir/toolchain- aarch64_xxxxx中找到。另外dtc工具来为ATF编译.dts文件&#xff0c;一般在 Ubuntu中的device-tree-compiler包&#xff0c;编译后的u-boot/kernel源代码树中的脚本…

【MySQL】MySQL 的 SSL 连接以及连接信息查看

MySQL 的 SSL 连接以及连接信息查看 在上篇文章中&#xff0c;我们学习过 MySQL 的两种连接方式&#xff0c;回忆一下&#xff0c;使用 -h 会走 TCP 连接&#xff0c;不使用 -h 可以使用另两种方式来走 UnixSocket 连接。我们就接着这个话题再聊点别的&#xff0c;首先要纠正一…

springMVC自定义异常处理器

目录 &#x1f331;使用原因 &#x1f333;优点 &#x1f331;实现 &#x1f333;自定义一个异常 &#x1f333;异常处理 &#x1f333;测试 使用原因 系统中会有各种各样的&#xff0c;意料之中和意料之外的结果&#xff0c;我们并不能做到完全针对每个异常时刻做出针对…

图像处理ASIC设计方法 笔记7 图像存储SPRAM控制

(一)图像存储SPRAM控制 P83 模块三 图像存储SPRAM控制 输入的图像要存放在这个模块中。这个SPRAM的数据组织和读/写控制是设计的重点之一。 SPRAM是多个块的形式。用的是单端口RAM,采用分时读或者写(读写不同时),起到双端口的效果。应该用的是单端口RAM(Single-por…

【鸿蒙开发】第十七章 Web组件(一)

1 Web概述 Web组件用于在应用程序中显示Web页面内容&#xff0c;为开发者提供页面加载、页面交互、页面调试等能力。 页面加载&#xff1a;Web组件提供基础的前端页面加载的能力&#xff0c;包括&#xff1a;加载网络页面、本地页面、html格式文本数据。 页面交互&#xff1a…

WebSocket:实现客户端与服务器实时通信的技术

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…