java - 是否有用于用户输入的 Java 格式化库?
问题描述
这似乎是几乎任何 Java 项目都需要的一个非常普遍的东西。然而我找不到任何能达到这个目的的东西。
我曾经使用一个名为 Stripes Framework 的 Web 框架,它具有注释驱动的验证器并通过其验证器 API 自动格式化。
例子:
@Validate(maxlength = ModelConstants.NAME_MAX_LENGTH, converter = CapitializeFullyTypeConverter.class)
private String name;
@Validate(maxlength = ModelConstants.NAME_MAX_LENGTH, converter = EmailTypeConverter.class)
private String email;
这些字段将在您的控制器操作 bean 上定义,并且所有用户输入都将根据指定的规则自动进行验证和格式化。
如果有人将他们的电子邮件地址输入为:“TEST@TEST.COM”,那么它将自动格式化为:“test@test.com”
我想找到类似的东西来自动格式化 DTO 中的数据。
如果没有这样的东西可用,通常的处理方法是什么?肯定不是每个人都在为 DTO 中的每个 getter 编写自定义格式化函数吗?
解决方案
如果您使用的是 Spring Mvc,则可以访问格式化 API。包中有预先存在org.springframework.format.annotation
的日期和数字格式注释。
如果您需要自定义格式规则,您可以编写自己的并通过FormattingConversionServiceFactoryBean
.
在此处查看一些示例:https ://docs.spring.io/spring-framework/docs/3.2.0.RC1/reference/html/validation.html
推荐阅读
- git - git:删除分支的更改 ID
- .net - 应用程序洞察力:loggerFactory.AddApplicationInsights 在 .net core 2.2.0 中已弃用
- python - ValueError: min() arg 是一个空序列
- react-native - react-native run-android 失败——找不到 Kotlin
- php - 如何将自定义字段作为抄送添加到 WooCommerce 客户订单电子邮件
- java - 从 Java 中的 AbstractPdfView 通过电子邮件发送 PDF
- c# - 需要使用 TaskCompletionSource 保持代码执行直到属性为空
- javascript - 使用 React-Hooks 单击按钮后如何显示不同的组件?
- string - 删除scala中字符串中所有匹配模式的子字符串
- java - 如何打印由另一个类引用的所有对象