gpt4 book ai didi

java - 如何在 Spring MVC 中定义和获取基于语言环境的消息?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:04:05 25 4
gpt4 key购买 nike

我想定义一组错误消息,以便当验证错误生成代码时,这些代码会选择相应的错误消息并打印出来。

为了学习和开发可扩展的网络应用程序,我想遵循正确的 i18n 路径,尽管我现在只需要定义一组(英文)消息。

所以当他们找不到自己的资源(我还没有定义)时,语言环境应该全部默认为英语。

我从未使用过 Java 的任何国际化功能。 spring 文档假设我有这方面的知识。

有人可以在正确的方向上轻推我吗?

我在我的 dispatcher-servlet.xml webapp 上下文中定义了一个 messageSource。我有一个 validator ,它生成一个 BindingResult 对象,其中包含一个被拒绝的字段 "username",代码为 "username.taken"。我可以生成默认消息。

现在我只需要从 View 中的 errormessages.properties 文件中获取错误消息。

如何解决消息的错误代码?

<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>errormessages</value>
</list>
</property>
</bean>

最佳答案

这取决于你想用这个文本做什么。第一种可能性是以编程方式获取消息:

@Autowired
private MessageSource messageSource;

@RenderMapping(params = "render=details")
public String showDetails (Model model, Locale locale) {
messageSource.getMessage(<your key goes here>, null, locale);
}

这种方式很少见,因为你必须自己从 Errors 对象中获取消息键。

另一种更常见的方法是使用 spring mvc 附带的内置 View 扩展。您没有编写它,但我猜您使用的是 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

关于java - 如何在 Spring MVC 中定义和获取基于语言环境的消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4192796/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com