[转载] spring mvc自定义int枚举转换器
参考链接: Java中具有自定义值的枚举
2019独角兽企业重金招聘Python工程师标准>>>
public class MyIntegerEnumConverters {
@WritingConverter
public static class EnumToIntegerConverter implements Converter<IntEnumConvertable, String> {
@Override
public String convert(IntEnumConvertable source) {
return String.valueOf(source.getValue());
}
}
}
public class MyIntegerToEnumConverterFactory implements ConverterFactory<String, Enum> {
@Override
public <T extends Enum> Converter<String, T> getConverter(Class<T> targetType) {
Class<?> enumType = targetType;
while (enumType != null && !enumType.isEnum()) {
enumType = enumType.getSuperclass();
}
if (enumType == null) {
throw new IllegalArgumentException(
"The target type " + targetType.getName() + " does not refer to an enum");
}
return new IntegerToEnum(enumType);
}
@ReadingConverter
public static class IntegerToEnum<T extends IntEnumConvertable> implements Converter<String, IntEnumConvertable> {
private final Class<T> enumType;
public IntegerToEnum(Class<T> enumType) {
this.enumType = enumType;
}
@Override
public IntEnumConvertable convert(String source) {
for (T t : enumType.getEnumConstants()) {
if (t instanceof IntEnumConvertable) {
if (t.getValue() == Integer.valueOf(source)) {
return t;
}
}
}
return null;
}
}
}
public interface IntEnumConvertable extends Serializable {
int getValue();
}
registry.addConverter(new MyIntegerEnumConverters.EnumToIntegerConverter());
registry.addConverter(new MyIntegerToEnumConverterFactory.IntegerToEnum(null));
registry.addConverterFactory(new MyIntegerToEnumConverterFactory());
转载于:https://my.oschina.net/stategrace/blog/749572
[转载] spring mvc自定义int枚举转换器相关推荐
- Spring MVC自定义验证注释
在上一教程中,我展示了如何使用注释来验证表单 . 这对于简单的验证非常有用,但是最终,您需要验证一些现成的注释中没有的自定义规则. 例如,如果您需要根据输入的出生日期来验证用户已超过21岁,或者可能需 ...
- Spring MVC:HTTP消息转换器
了解有关Spring MVC和HTTP消息转换器的更多信息. 通常,你需要为用户提供相同的数据,但是以不同的形式(例如JSON,PDF,XLS等)为用户提供.如果你的应用程序是基于Spring Fra ...
- Spring MVC自定义类型转换器Converter、参数解析器HandlerMethodArgumentResolver
文章目录 一.前言 二.类型转换器Converter 1.自定义类型转换器 三.参数解析器 1.自定义分页参数解析器 2.自定义注解参数解析器 一.前言 Spring MVC源码分析相关文章已出: S ...
- Spring MVC__自定义日期类型转换器
WEB层采用Spring MVC框架,将查询到的数据传递给APP端或客户端,这没啥,但是坑的是实体类中有日期类型的属性,但是你必须提前格式化好之后返回给它们.说真的,以前真没这样做过,之前都是一口气查 ...
- Spring MVC Converter(类型转换器)详解
Spring MVC 框架的 Converter<S,T> 是一个可以将一种数据类型转换成另一种数据类型的接口,这里 S 表示源类型,T 表示目标类型.开发者在实际应用中使用框架内置的类型 ...
- 使用Spring Boot和Spring MVC自定义HttpMessageConverters
为Spring Boot应用程序或直接的Spring MVC应用程序公开基于REST的终结点很简单,以下是一个控制器,该终结点公开了一个终结点,用于基于其发布的内容创建实体: @RestControl ...
- Spring MVC –自定义RequestMappingHandlerMapping
在xml bean定义文件中使用<mvc:annotation-driven />配置Spring MVC时,在内部将一个名为RequestMappingHandlerMapping的组件 ...
- Spring MVC 自定义验证器示例
在任何 spring web mvc 应用程序中,我们经常必须处理表单.应用程序首先显示一个表单,然后用户填写该表单并将其提交给服务器.在服务器上,应用程序需要捕获表单输入并处理输入(例如,存储在数据 ...
- Spring MVC中文文档翻译发布
2019独角兽企业重金招聘Python工程师标准>>> 21.1 Spring Web MVC框架简介 Spring的模型-视图-控制器(MVC)框架是围绕一个DispatcherS ...
最新文章
- R语言vtreat包的mkCrossFrameCExperiment函数交叉验证构建数据处理计划并进行模型训练、通过显著性进行变量筛选(删除相关性较强的变量)、构建多变量模型、转化为分类模型、模型评估
- pmp项目变更的流程图_?跟我学PMP | 项目的变更管理应该怎么做?
- Oracle其它数据库对象:视图、序列、同义词
- Codeforces 765F. Souvenirs
- unity 天空盒_Unity自定义可编程渲染管线(SRP)(二)——编写第一个自定义SRP
- 【原】AMR音频解码插件开发总结
- Linux系统编程8:入门篇之简单明了说明如何在Linux中Git提交代码
- document.cookie 获取不到_意想不到,王者荣耀中不用花钱就可以获得的皮肤有哪
- 下一站,北京-欢乐谷
- python滚动条翻页爬取数据_scrapy实践之翻页爬取的实现
- python源码剖析_Python源码剖析
- h3c 出口路由器mac地址过滤
- 生成项目有roslyn_Roslyn的代码生成:UML的骨架类
- Echarts——自定义仪表盘图表
- 大健康、医疗服务、商城系统、内容管理、健康数据统计、医疗问诊、慢病管理、科室管理、问诊订单、看病、挂号预约、体检订单、疾病管理、血压、血糖、运动、睡眠、物流、体温、体重、计步、心率、医院、医生、售后
- opencv-python 视频抽帧成一张张图片
- DLL load failed while importing _cvxcore解决办法
- 5G网络实现自动驾驶车联网——第三篇:5G网络实现远程SSH,远程桌面
- 全宇宙尺寸最小的OpenMV!OpenMV Mini!
- 微信小程序之蓝牙连接
热门文章
- 微信小程序:一起玩连线,一个算法来搞定
- java注意的一些细节问题
- 计算机控制基础知识,最新 分析计算机控制系统及其运算基础知识-精品
- 桶排序算法c语言10个数组,桶排序算法
- 计算机背板知识,你知道背板的选购技巧吗?
- 用ajax替换html代码,替换Ajax响应一个div的内部HTML(Replace inner HTML of a div w
- FJ的字符串java问题_蓝桥杯VIP试题 之 基础练习 FJ的字符串- JAVA
- Linux基础(存储结构和磁盘划分)
- php用到的mysql语句_PHP中常用到的一些MySQL语句_php
- SQLPlus命令详细说明