2014-11-12 3 views
3

В настоящее время я работаю над проектом Spring Boot с Thymleaf 2.1.3. Я добавляю некоторые мета-теги на страницу, выполнив:Не избегайте th: тег контента в Thymeleaf

<meta name="pagename" th:content="${pagename}"/>

Переменная ИмяСтраницы заполняется контроллером. Это работает, но из-за того, что pagename является HTML-экранированным. Это неправильное поведение для моего приложения. Я сам дезинфицирую данные, после чего он должен быть помещен в содержимое тега контента.

Я осмотрел и нашел th: встроенный, который не работает для тегов контента. Также найдено th: utext, но это также не работает для th: content ..

Кто-нибудь знает решение этой проблемы?

Спасибо!

ответ

0

Насколько я знаю, Thymeleaf всегда будет избегать содержимого, входящего в атрибуты HTML, в соответствии с спецификацией XML/HTML, которая диктует, что контент должен быть экранирован. Тем не менее, может быть пара обходных решений, обсуждаемых на форуме другими, которые пытаются сделать то же самое: http://forum.thymeleaf.org/How-to-get-unescaped-text-into-title-attribute-td4027791.html

Один из них предполагает создание собственного процессора атрибутов, а другой - синтаксический взлом.

Нужно ли сначала санировать содержимое? Можете ли вы не позволить Тимелеафу сделать это в слое зрения?

Смежные вопросы