【发布时间】:2014-06-16 18:51:42
【问题描述】:
通常我通过 jsp 中的<spring:message code="" /> 标签检索 i18n 消息。但作为 ajax 查询的响应,我在 i18n 属性文件中得到消息代码。这段代码如何通过 JS 获取消息?
【问题讨论】:
标签: javascript spring jsp internationalization
通常我通过 jsp 中的<spring:message code="" /> 标签检索 i18n 消息。但作为 ajax 查询的响应,我在 i18n 属性文件中得到消息代码。这段代码如何通过 JS 获取消息?
【问题讨论】:
标签: javascript spring jsp internationalization
从 JS 获取消息没有“正常”的方式,但你有两种解决方案:
第一个解决方案:通过 Ajax 调用。
第二种解决方案:在隐藏输入 html 中加载页面时发送您的价值
<c:set var="val"><spring:message code="username"/></c:set>
<input id="username" type="hidden" value="${val}"/>
在您的 javascript(使用 jquery)中,您可以按如下方式使用它:
$('#username').val()
【讨论】:
您可以将MessageSource 注入您的控制器并从该控制器返回String 消息。简单地说:
@Autowired
MessageSource messageSource;
@RequestMapping(value="/myajax", method=RequestMethod.GET)
@ResponseBody
public String getMyAjaxMessage() {
return messageSource.getMessage(..); // use your proper arguments or extract from request parameters
}
javascript(假设使用 jquery):
$.get('/myajax', function(data){
// do whatever you want with data (will contain your message)
});
这里是文档:
【讨论】: