如何将 web.xml 参数传递给注释(休眠验证器)?
how to pass web.xml parameters to annotations (hibernate validator )?
我想将 web.xml 上的上下文参数传递给 Java Bean 中的休眠注释,例如:
web.xml :
<context-param>
<param-name>limit</param-name>
<param-value>5</param-value>
</context-param>
Java豆子:
@Length(min=0, max=limit )
private String text;
这可能吗?
简而言之,这是不可能的。约束注解是静态的,不能动态改变。
在最好的情况下,您可以尝试编写自定义约束。您仍然不能在约束中使用变量,但在 ConstraintValidator
实现中,您可以通过注入或通过 ThreadLocal
访问一些动态状态。当然,现在不可能再通过查看域模型来推迟确切的约束。
如果您需要根据使用模型的应用程序更改约束,我想我更愿意使用 Bean Validation 的 XML 配置。
我想将 web.xml 上的上下文参数传递给 Java Bean 中的休眠注释,例如:
web.xml :
<context-param>
<param-name>limit</param-name>
<param-value>5</param-value>
</context-param>
Java豆子:
@Length(min=0, max=limit )
private String text;
这可能吗?
简而言之,这是不可能的。约束注解是静态的,不能动态改变。
在最好的情况下,您可以尝试编写自定义约束。您仍然不能在约束中使用变量,但在 ConstraintValidator
实现中,您可以通过注入或通过 ThreadLocal
访问一些动态状态。当然,现在不可能再通过查看域模型来推迟确切的约束。
如果您需要根据使用模型的应用程序更改约束,我想我更愿意使用 Bean Validation 的 XML 配置。