【发布时间】:2016-03-31 14:28:41
【问题描述】:
谁能帮我配置validation-api.1.1.jar中的@Pattern注解
@Pattern(regex = "PATTERN") 这个配置很简单,但我的要求是有一个中心文件,由所有模式组成,键和值作为模式.即属性文件。
感谢您的帮助。
【问题讨论】:
标签: java regex spring validation
谁能帮我配置validation-api.1.1.jar中的@Pattern注解
@Pattern(regex = "PATTERN") 这个配置很简单,但我的要求是有一个中心文件,由所有模式组成,键和值作为模式.即属性文件。
感谢您的帮助。
【问题讨论】:
标签: java regex spring validation
不幸的是,拥有一个包含用于@Pattern 注释的模式正则表达式的属性文件本身并不可行,因为Java 要求注释使用编译时常量 .无法从属性文件中检索这些编译时正则表达式,因为无法在编译时解析属性文件;属性文件在运行时解析。
话虽如此,您可以将所有编译时常量正则表达式模式保存在一个中心类或接口中。例如,考虑以下代码:
public class FooClass {
@Pattern(regex = Patterns.FOO_PATTERN)
public void foo() {}
}
public class BarClass {
@Pattern(regex = Patterns.BAR_PATTERN)
public void bar() {}
}
public class Patterns {
public static final String BAR_PATTERN = "bar?";
public static final String FOO_PATTERN = "foo*";
}
如您所见,您可以拥有一个通用类,用于保存所有正则表达式模式字符串。我希望这会有所帮助。
【讨论】: