Передайте JSON атрибуту модели данных в Thymeleaf - PullRequest
0 голосов
/ 12 марта 2019

Итак, у меня есть такой элемент, как

<input type="text" />

Теперь для целей тестирования в шаблоне Мне нужно передать JSON литерал в атрибут модели данных этого ввода:

JSON:

{ "disabled": true, "title": "my beautiful input" }

Так что мне нужна привязка th:attr здесь:

<input type="text" th:attr="" />

В каком формате / экранировании я должен передать data-model в привязке th:attr, если все, что у меня есть, это литерал?

Я бы хотел, чтобы Thymeleaf создал этот вывод:

<input type="text" data-model='{ "disabled": true, "title": "my beautiful input" }' />

Мне нужен вывод, который позволит мне использовать JSON.parse() для значения атрибута во внешнем интерфейсе.

Ответы [ 2 ]

2 голосов
/ 13 марта 2019

Это работает для меня (разбирает просто отлично, используя JSON.parse):

<input type="text" th:attr="data-model='{ &quot;disabled&quot;: true, &quot;title&quot;: &quot;my beautiful input&quot; }'" />

Хотя, если вы просто жестко программируете этот атрибут, я не понимаю, почему вы не просто используете:

<input type="text" data-model='{ "disabled": true, "title": "my beautiful input" }' />

для начала (также работает с Thymeleaf).

1 голос
/ 13 марта 2019

Вы можете передать его следующим образом:

<div th:attr="data-model=${json}">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...