首页 > 解决方案 > 是否有用于用户输入的 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 编写自定义格式化函数吗?

标签: javaspringspring-mvcdto

解决方案


如果您使用的是 Spring Mvc,则可以访问格式化 API。包中有预先存在org.springframework.format.annotation的日期和数字格式注释。

如果您需要自定义格式规则,您可以编写自己的并通过FormattingConversionServiceFactoryBean.

在此处查看一些示例:https ://docs.spring.io/spring-framework/docs/3.2.0.RC1/reference/html/validation.html


推荐阅读