używanie atrybutu data - * z tymeleaf
Czy Mogę ustawić atrybut data - * za pomocą thymeleaf?
Jak zrozumiałem z dokumentacji thymeleaf próbowałem:
<div th:data-el_id="${element.getId()}"> <!-- doesn't work -->
<div data-th-el_id="${element.getId()}"> <!-- doesn't work -->
3 answers
Tak, th:attr
na ratunek dokumentacja Thymeleaf-Ustawianie wartości atrybutów .
Dla Twojego scenariusza, to powinno wystarczyć:
<div th:attr="data-el_id=${element.getId()}">
Reguły XML nie pozwalają na dwukrotne ustawienie atrybutu w znaczniku, więc nie można mieć więcej niż jednego th:attr
w tym samym elemencie.
Uwaga: Jeśli chcesz mieć więcej niż jeden atrybut, oddziel różne atrybuty przecinkiem:
<div th:attr="data-id=${element.getId()},data-name=${element.getName()}">
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-17 08:01:02
Lub możesz użyć tego dialektu Tymeleaf https://github.com/mxab/thymeleaf-extras-data-attribute and you ' ll be able do
<div data:el_id="${element.getId()}">
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-13 14:52:33
W Thymeleaf 3.0 istnieje domyślny procesor atrybutów , który może być używany dla każdego rodzaju niestandardowych atrybutów, np. th:data-el_id=""
staje data-el_id=""
, th:ng-app=""
staje się ng-app=""
i tak dalej. Nie ma już potrzeby używania atrybutu danych.
To rozwiązanie preferuję, Jeśli chcę użyć json jako wartości, zamiast:
th:attr="data-foobar='{"foo":'+${bar}+'}'"
Można użyć (w połączeniu z dosłowne zastępowanie):
th:data-foobar='|{"foo":${bar}}|'
Update: If you don ' t like the th
przestrzeń nazw, można również użyć HTML5 przyjazne atrybuty i nazwy elementów jak data-th-data-foobar=""
.
jeśli ktoś jest zainteresowany, podobne testy silnika szablonu można znaleźć tutaj: testy dla domyślnego procesora atrybutów
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2019-05-27 14:14:56