2

我正在使用 thymeleaf 和 spring 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>');
    },
});

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

问题是如何使用 thymeleaf 显示 i18n 响应消息。或者也许还有其他方法可以通过 js 在 html 页面(不使用 jsp)上显示 i18n 消息?

4

1 回答 1

2

Thymeleaf 属性(例如 th:text)只会在服务器上解析和替换。由于这个 ajax 响应是在浏览器上处理的,th:text 不会被处理。如果“设置”已经是 Thymeleaf 解析的页面,它可能已经 i18n'd 并且您可以简单地执行以下操作:

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

但是,如果您真的在寻找 Thymeleaf 标签的客户端 javascript 处理,请考虑Thymol

于 2013-04-30T15:05:32.133 回答