2013-01-22 74 views
2

我正在使用百里香和春天3 mvc。 当我尝试执行Ajax POST请求,我不明白我怎么能显示来自控制器的响应消息我的html页面:在javascript中使用Thymeleaf显示消息

这里有一个代码片段:

$.ajax({ 
      type: "POST", 
      url: "/settings", 
      data: "request=" + request, 
      success: function (response) { 
        $('#msg').replaceWith('<div id="msg" th:text="response"></div>'); 
      }, 
     }); 

“响应”是i18n来自控制器的消息。现在,我想用thymeleaf(th:text =“response”)显示此消息。当然,这段代码不起作用,因为它认为响应变量是一个纯字符串。

问题是如何使用百里香显示i18n响应信息。或者也许有其他一些方法来显示i18n消息在html页面(不使用jsp)通过js?

回答

2

只有在服务器上解析并替换Thymeleaf属性(如th:text)。由于这个Ajax响应在浏览器上处理,所以th:text将不会被处理。如果“设置”已经是一个Thymeleaf分辨页,很可能已经i18n'd,你可以简单地这样做:

$('#msg').html(response); 

但是,如果你是真正的寻找客户端Thymeleaf标签的JavaScript的处理,请考虑Thymol