5

JSR303 と特別な Hibernate-Validator に問題があります。

プロパティ ファイルから検証メッセージを読み取りたい。このプロパティー・ファイルは、サーブレット・コンテナーにデプロイされる war ファイル内にあります。問題は、アクセスされていないことです。次のプロジェクト構造があります。

  • project-web (war ファイル)
    • project-web-core (project-web.war の WEB-INF/lib にある jar ファイル)
      • hibernate-validator jar (project-web-core の Maven 依存関係)
      • ValidationMessages.properties (project-web-core.jar の src/main/resources にあり、これにアクセスします)
    • ValidationMessages.properties (project-web.war の src/main/resources にあります。これアクセスされません)

両方の ValidationMessages.properties にアクセスするにはどうすればよいですか? それともこれは不可能ですか?

それを超えて、Hibernate-Validator が最初に war でプロパティ ファイルを読み取り、キーが見つからない場合は、jar からプロパティ ファイルを読み取るなど、完璧です。

4

1 に答える 1

7

複数のValidationMessages.propertiesファイルを持つことはできません。ただし、Hibernate Validators AggregateResourceBundleLocatorを使用して、次のように異なる名前のバンドルからメッセージを取得できます。

ValidatorFactory validatorFactory = configuration
    .messageInterpolator(
        new ResourceBundleMessageInterpolator(
            new AggregateResourceBundleLocator(
                Arrays.asList("foo", "bar"), 
                configuration.getDefaultResourceBundleLocator())))
    .buildDefaultValidatorFactory();
于 2012-07-30T18:50:56.777 に答える