我想定义一组错误消息,以便当验证错误生成代码时,这些代码会选择相应的错误消息并打印出来。
为了学习和开发可扩展的Web应用程序,我想遵循正确的i18n路径,尽管我现在只需要定义一组(英语)消息。
因此,当他们找不到自己的资源(我还没有定义)时,语言环境应该都默认为英语。
我从未使用过Java的任何i18n功能。春天的文档假设我有这方面的知识。
有人可以给我一个正确的方向吗?
我在messageSource
webapp上下文中定义了dispatcher-servlet.xml
。我有一个验证器,它生成一个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>
答案 0 :(得分:9)
这取决于您要对此文本执行的操作。第一种可能性是以编程方式获取消息:
@Autowired
private MessageSource messageSource;
@RenderMapping(params = "render=details")
public String showDetails (Model model, Locale locale) {
messageSource.getMessage(<your key goes here>, null, locale);
}
这种方式非常罕见,因为您必须自己从错误对象中获取消息密钥。
另一种更常见的方法是使用spring mvc附带的视图扩展中的内置版本。你没有写它,但我猜你使用的是JSP。在这种情况下,您只需在JSP中编写类似的内容:
<!-- showing errors -->
<div>
<form:errors path="*" />
</div>
<!-- showing arbitrary messages -->
<div>
<spring:message code="${success.messageKey}"/>
</div>
如需进一步阅读,我建议您http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/view.html