我正在Spring MVC中创建一个登录表单。我的春季版是4.0.6。 我已经配置了我的属性文件ApplicationResources.properties,如下所示
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basenames">
<list>
<value>classpath:ApplicationResources</value>
</list>
</property>
</bean>
我能够通过使用下面的标签lib来读取属性文件中定义的标签的值
<spring:message code="ui.label.username" />
但我面临的问题是下面的验证是控制器类方法。
@RequestMapping(value = "/doLogin.spr" , method=RequestMethod.POST)
public String login(@Valid LoginForm loginForm, BindingResult bindingResult, HttpServletRequest request, Model model) {
try{
if(bindingResult.hasErrors()){
model.addAttribute("command", loginForm);
return "login" ;
}
User user = loginService.login(loginForm.getUserName(), loginForm.getPassword());
return "login" ;
}catch (Exception e) {
// TODO: handle exception
return "login" ;
}
}
在我的验证器中,我正在验证字段,如下所示
ValidationUtils.rejectIfEmptyOrWhitespace(errors, "userName", "app.ui.userName.error");
在我的属性文件中,我定义了如下标签。
app.ui.userName.error.loginForm.userName=First UserName
app.ui.userName.error.userName=Second UserName
app.ui.userName.error.java.lang.String=String UserName
app.ui.userName.error=Simple error
在JSP上我试图访问如下所示的错误
<form:errors path="userName"/>
但我无法在我的UI上看到错误消息。这可能有什么问题。