Dav*_*rks 6 java validation spring-mvc internationalization
我想定义一组错误消息,以便在验证错误生成代码时,这些代码会选择相应的错误消息并打印它们.
为了学习和开发可扩展的Web应用程序,我想遵循正确的i18n路径,尽管我现在只需要定义一组(英语)消息.
因此,当他们找不到自己的资源(我还没有定义)时,语言环境应该都默认为英语.
我从来没有使用任何Java的i18n功能.春天的文档假设我有这方面的知识.
有人可以给我一个正确方向的gental微调吗?
我messageSource在我的dispatcher-servlet.xmlwebapp上下文中定义了一个.我有一个验证器,它生成一个BindingResult带有被拒绝字段的对象"username",带有代码"username.taken".我可以生成默认消息.
现在我只需要errormessages.properties在视图中从文件中获取错误消息.
如何解决消息的错误代码?
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>errormessages</value>
</list>
</property>
</bean>
Run Code Online (Sandbox Code Playgroud)
这取决于你想用这个文字做什么.第一种可能性是以编程方式获取消息:
@Autowired
private MessageSource messageSource;
@RenderMapping(params = "render=details")
public String showDetails (Model model, Locale locale) {
messageSource.getMessage(<your key goes here>, null, locale);
}
Run Code Online (Sandbox Code Playgroud)
这种方式非常罕见,因为您必须自己从错误对象中获取消息密钥.
另一种更常见的方法是使用spring mvc附带的视图扩展中的内置版本.你没有写它,但我猜你使用的是JSP.在这种情况下,您可以在JSP中简单地编写类似的内容:
<!-- showing errors -->
<div>
<form:errors path="*" />
</div>
<!-- showing arbitrary messages -->
<div>
<spring:message code="${success.messageKey}"/>
</div>
Run Code Online (Sandbox Code Playgroud)
为了进一步阅读,我建议你http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/view.html
| 归档时间: |
|
| 查看次数: |
14992 次 |
| 最近记录: |