Мне нужно отобразить некоторый HTML в сообщениях об ошибках Grails, чтобы пометить некоторый контент для внешней системы, на которую я не могу влиять. Это просто несколько простых тегов span с атрибутом class = "notranslate". По умолчанию HTML будет экранирован, поэтому я отключил кодек в теге, что приводит к другой проблеме:
Теперь все, что вводит пользователь, будет отображаться в HTML страницы, что позволяет легко XSS ...
Мое решение на данный момент состоит в том, чтобы отключить только кодек HTML для этой страницы и использовать пользовательские сообщения об ошибках, которые не включают в себя то, что ввел пользователь, но которые мне кажутся довольно неуклюжими.
Я также видел, что может быть возможность возиться с MessageSource, но я не люблю переходить на многое в недрах Грааля. У меня была еще одна идея - создать собственный фильтр, который пропускает только тот HTML-код, который я одобряю. Я также отказался от этой идеи, мне казалось, что я решил проблему на неправильном уровне абстракции.
Есть идеи, как решить эту проблему?
TL; DR
Мне нужно обернуть переменные части сообщения об ошибке в тегах.