我正在使用百里香和春天3 mvc。 当我尝试执行Ajax POST请求时,我不明白如何在html页面上显示来自控制器的响应消息:
以下是代码段:
$.ajax({
type: "POST",
url: "/settings",
data: "request=" + request,
success: function (response) {
$('#msg').replaceWith('<div id="msg" th:text="response"></div>');
},
});
'response'是来自控制器的i18n消息。现在,我想在使用thymeleaf(th:text =“response”)时显示此消息。当然,这段代码不起作用,因为它认为响应变量是一个普通的字符串。
问题是如何使用百日咳显示i18n响应信息。或者也许还有其他一些方法可以通过js在html页面上显示i18n消息(不使用jsp)?
答案 0 :(得分:2)
Thymeleaf属性(例如th:text)只会在服务器上进行解析和替换。由于这个ajax响应是在浏览器上处理的,因此文本将不会被处理。如果“设置”已经是一个经过Thymeleaf解析的页面,那么它很可能已经完成了,您可以简单地执行以下操作:
$('#msg').html(response);
但是,如果您真的在寻找Thymeleaf标签的客户端javascript处理,请考虑Thymol。