2

thymeleafとspring3mvcを使用しています。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されている可能性が高く、次のように簡単に実行できます。

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

ただし、Thymeleafタグのクライアント側のJavaScript処理を本当に探している場合は、Thymolを検討してください

于 2013-04-30T15:05:32.133 に答える