通过js从spring资源包中获取消息

时间:2014-04-30 12:37:13

标签: javascript spring jsp internationalization

通常我通过jsp中的<spring:message code="" />标签检索i18n消息。但作为ajax查询的响应,我在i18n属性文件中获取消息代码。如何通过JS获取此代码的消息?

2 个答案:

答案 0 :(得分:2)

从JS获取消息没有“正常”方式,但您有两种解决方案:

第一个解决方案:通过Ajax调用。

第二个解决方案:在隐藏输入html中加载页面时发送您的值

<c:set var="val"><spring:message code="username"/></c:set>
<input id="username" type="hidden" value="${val}"/>

在你的javascript(使用jquery)中,你可以按如下方式使用它:

$('#username').val()

答案 1 :(得分:1)

您可以向控制器注入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)
});

以下是文档:

MessageSource

jquery get