Как установить Dynami c JSON Строка в Thymeleaf - PullRequest
0 голосов
/ 11 марта 2020

Я использую Thymeleaf на страницах внешнего интерфейса, и по какой-то причине мне приходится иметь дело с i18n с помощью i18next. js вместо Spring Framework.

Согласно введению i18next- jquery - используя опции в функции перевода , я пишу так:

<span data-i18n="myKey" data-i18n-options='{ "WHERE": "TW" }'></span>

И есть мой языковой ресурс:

{ "myKey" : "User is from {{WHERE}}."  }

И html анализируется и показывается вот так отлично :

<span data-i18n="myKey" data-i18n-options='{ "WHERE": "TW" }'> User is from TW. </span>

Но когда я динамически устанавливаю {{WHERE}} по атрибутам Thymeleaf, он просто ничего не может проанализировать.

Я пытался
th:attrappend="data-i18n-options='{WHERE: '+ ${country} +'}'"
также
th:data-i18n-options="'{WHERE: '+ ${country} +'}'",
каким-то образом это просто заканчивается следующим образом:

<span data-i18n="myKey" data-i18n-options="{WHERE: TW}">User is from  .</span>

Так что мне интересно, есть ли идея проанализировать json строку в атрибуте Thymeleaf?


Обновление:
Я хочу поделиться своим решением и надеюсь, что это сэкономит кому-то время:)

th:attrappend='data-i18n-options=|{ "WHERE":"${country}"}|' или th:data-i18n-options='|{ "WHERE":"${country}"}|'

1 Ответ

0 голосов
/ 16 марта 2020

Пожалуйста, попробуйте эти два:

th:attrappend='data-i18n-options=|{ "WHERE":"${country}"}|'
или
th:data-i18n-options='|{ "WHERE":"${country}"}|'

...