gpt4 book ai didi

jsf-2 - bean-validation validation.xml 被忽略

转载 作者:行者123 更新时间:2023-12-01 07:43:13 25 4
gpt4 key购买 nike

我在我的 JSF 2.0 Web 应用程序中使用 JSR 303 Bean 验证,它与注释一起工作得很好。现在我想忽略注释并使用 配置验证规则验证.xml 文件,所以这就是我所做的(我正在使用 Eclipse 动态 Web 项目):

  • 已添加 验证.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>
  • 然后创建文件 约束映射.xml WebContent/META-INF/validation/constraint-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>

  • 有了这些配置,我想我的 bean 类 ValidationMB 中的注释应该被忽略, 但是这不会发生! ,这让我假设没有加载validation.xml 文件。

    有任何想法吗?谢谢。

    环境:
  • Apache Tomcat 7.0.23
  • javax.faces-2.1.4.jar
  • hibernate-validator-4.2.0.Final.jar
  • hibernate-validator-annotation-processor-4.2.0.Final.jar
  • 验证-api-1.0.0.GA.jar
  • slf4j-api-1.6.1.jar

  • 来自规范:第 4.4.6 节。 XML 配置:META-INF/validation.xml

    Unless explicitly ignored by calling Configuration.ignoreXMLConfiguration(), a Configuration takes into account the configuration available in META-INF/validation.xml. This configuration file is optional but can be used by applications to refine some of the Bean Validation behavior. If more than one META-INF/validation.xml file is found in the classpath, a ValidationException is raised.

    最佳答案

    为了解决我的问题,我必须在项目 下创建一个 META-INF 文件夹。源 文件夹,以 WEB-INF/classes/META-INF 结尾。

    Web应用程序的结构是:

    ROOT
    |_META-INF -- don't put validation.xml here
    |_WEB-INF
    |__ classes
    |_META-INF
    |__validation.xml

    但是我觉得如果我把我的 web 应用打包成一个 jar 文件,然后在另一个项目中重用它可能不行,等我做了之后会告诉你的。

    关于jsf-2 - bean-validation validation.xml 被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8701482/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com