4

次のコードに続いて javax.validation を使用して検証している Java のクラスが 1 つあります。

    ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
    Validator validator = validatorFactory.getValidator();
    Set<ConstraintViolation<ApplicationRequest>> validationErrors = validator.validate(request);

    for (ConstraintViolation<MyObject> valErrors : validationErrors) {
        errors.add(valErrors.getPropertyPath() + " " + valErrors.getMessage() + ". ");
    }

スペイン語のサーバーで実行すると、エラー メッセージがスペイン語で表示されます。ただし、テスト サーバー (英語環境にインストールされている) で実行すると、メッセージは英語で表示されます。スペイン語のロケールを使用するように javax 検証に指示するにはどうすればよいですか。出来ますか?

4

3 に答える 3

1

アプリケーションの起動時に、デフォルトのロケールを設定できます: JVM のデフォルトのロケールを設定するにはどうすればよいですか?

アプリケーションサーバーを使用している場合は、これを行う方法についてドキュメントを参照してください。通常、これを行うための構成があります。たとえば、JBoss の場合、run.conf の JAVA_OPTS セクションに -Duser.language=en を追加する必要があります。

于 2013-05-09T19:12:08.890 に答える