Oma*_*bji 3 bean-validation jsf-2
我在我的JSF 2.0 Web应用程序中使用JSR 303 Bean验证,它可以正常使用注释.现在我想忽略注释并使用validation.xml文件配置验证规则,所以这就是我所做的(我使用的是eclipse动态Web项目):
新增的validation.xml下的WebContent/META-INF/validation.xml中
<?xml version="1.0" encoding="UTF-8"?>
<validation-config
xmlns="http://jboss.org/xml/ns/javax/validation/configuration"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/configuration validation-configuration-1.0.xsd"
>
<constraint-mapping>META-INF/validation/constraint-mapping.xml</constraint-mapping>
</validation-config>
Run Code Online (Sandbox Code Playgroud)然后创建的文件约束mapping.xml下的WebContent/META-INF /验证/约束mapping.xml
<constraint-mappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://jboss.org/xml/ns/javax/validation/mapping validation-mapping-1.0.xsd"
xmlns="http://jboss.org/xml/ns/javax/validation/mapping">
<bean class="my.full.path.ValidationMB" ignore-annotations="true">
</bean>
</constraint-mappings>
Run Code Online (Sandbox Code Playgroud)有了这些配置,我想我的bean类ValidationMB中的注释将被忽略,但这不会发生!,这使我假设没有加载validation.xml文件.
有任何想法吗?谢谢.
环境:
从规范:第4.4.6节.XML配置:META-INF/validation.xml
除非通过调用Configuration.ignoreXMLConfiguration()明确忽略,否则Configuration会考虑META-INF/validation.xml中可用的配置.此配置文件是可选的,但应用程序可以使用它来优化某些Bean Validation行为.如果在类路径中找到多个META-INF/validation.xml文件,则会引发ValidationException.
Oma*_*bji 10
为了解决我的问题,我不得不在项目src文件夹下创建一个META-INF文件夹,该文件夹以WEB-INF/classes/META-INF结尾.
Web应用程序的结构是:
ROOT
|_META-INF -- don't put validation.xml here
|_WEB-INF
|__ classes
|_META-INF
|__validation.xml
Run Code Online (Sandbox Code Playgroud)
但我认为如果我将我的Web应用程序打包在一个jar文件中并在另一个项目中重用它可能不起作用,我会在以后告诉你.
| 归档时间: |
|
| 查看次数: |
8456 次 |
| 最近记录: |