4

プロパティファイルのエラーメッセージを使用して、春の検証を実行しようとしています。しかし、私が見つけた例はすべて、値がハードコーディングされているか、プロパティファイルから取得されているようですが、バリデータークラスを使用してそこで取得しています。

私の設定は少し異なります。リクエストマッピングで@Validアノテーションを使用しており、@ Validクラスは@NotNullなどを使用しています。人々が@NotNull(message = "blablabla");を実行する例を見てきました。ただし、これもハードコーディングされているため、メッセージをプロパティファイルに入れて、その場で簡単に編集できるようにし、将来的にi18nを簡単に実装できるようにします。

これを達成する方法についてのご意見をいただければ幸いです。

4

1 に答える 1

8

これは、explicit とまったく同じように機能しValidatorます。a を宣言し、MessageSourceエラー メッセージを.propertiesファイルに書き込みます。メッセージ コードは次のように形成されconstraintName.modelAttributeName.propertyNameます。

publib class Foo {
    @NotNull private String name;
    ...
}

.

@RequestMapping
public String submitFoo(@Valid Foo foo, ...) { ... }

messages.properties:

NotNull.foo.name=...

MessageSource宣言:

<bean id="messageSource"
    class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basename" value = "messages" />
</bean>
于 2010-11-25T22:16:56.100 に答える