前台枚举类型向后台传参如何转换

public enum StringShowType { /** * 标准文本框 */ STANDARD(0), /** * 密码框 */ PASSWORD(1), /** * 多行文本 */ TEXTAREA(2), /** * 富文本 */ RICHTEXT(3) ; private int code; private StringShowType(int code) { this.code = code; } public String toString() { return String.valueOf(code); } public int value() { return code; } public static StringShowType getEnum(int code) { for(StringShowType s:StringShowType.class.getEnumConstants()) { if(s.code == code) { return s; } } return null; } }

上面这个java类是笔者常用的一种枚举类型实现的方式。如果后台有个实体属性值是上面的枚举类型,我们怎么让Spring自动进行枚举值的转换呢。

这里,我们需要用到Spring提供的Converter接口:

@Component public class StringToStringShowTypeConverter implements Converter<String, StringShowType> { @Override public StringShowType convert(String source) { if(source==null) { return null; } String value = source.trim(); if("".equals(value)) { return null; } return StringShowType.getEnum(Integer.parseInt(value)); } }

当我们将上面的java类注册为Spring组件后,Spring碰到StringShowType类型的属性,将自动调用上面的convert方法去尝试转换。

转载

 

__EOF__

本文作者皮军旗
本文链接https://www.cnblogs.com/pijunqi/p/14811932.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   皮军旗  阅读(1288)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示