リソース ファイルでエラー メッセージを定義しようとしていますが、コントローラーで使用できるようにエラー メッセージを読み込めないようです。
私のservlet-context.xmlファイル:
<beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<beans:property name="basename" value="classpath:messages" />
</beans:bean>
私のフォーム:
public class LoginForm {
@NotEmpty
private String username;
// getters and setters
}
私のmessages.propertiesファイル (ソース フォルダーのルートにあるため、classes フォルダーのルートにコンパイルされます):
NotEmpty.loginForm.username=test1
NotEmpty.username=test2
NotEmpty.java.lang.String=test3
NotEmpty=test4
私のコントローラー:
@RequestMapping(value = "/login", method = RequestMethod.POST)
public String login(@Valid LoginForm form, BindingResult result) {
if (result.getFieldErrors().size() > 0) {
FieldError firstError = result.getFieldErrors().get(0);
System.out.println(firstError.getDefaultMessage());
}
// ...
}
ただし、getDefaultMessage
呼び出しの出力は、リソース ファイルで定義したものではありません。常にmay not be empty
です (デフォルト)。
コンテキスト ファイルでさまざまなエントリを試しましたが、リソース ファイルが読み込まれていないようです。私は何を間違っていますか?