Ответ 1
У вас есть две проблемы: атрибут style
не поддерживается тегом p
, а вторая проблема заключается в том, что атрибуту href
не хватает протокола, который требуется всем WhiteListType
s. См. Список ниже для протоколов, поддерживаемых тегом и атрибутом для Relaxed WhiteListType
Расслабление
- тег "a", атрибут "href", протоколы { "ftp", "http" , "https" , "mailto" }
- tag "blockquote", атрибут "cite", протоколы { "http" , "https" }
- тег "cite", атрибут "cite", протоколы { "http" , "https" }
- тег "img", атрибут "src", протоколы { "http" , "https" }
- тег "q", атрибут "cite", протоколы { "http" , "https" }
Итак, в вашем случае текст
<p style='text-align: left;'><a href='google.com'>then with links!</a></p>
следует изменить на
<p style='text-align: left;'><a href='http://google.com'>then with links!</a></p>
и нет, нет простого способа добавить пользовательские протоколы:)
И код Java должен быть изменен на
@SafeHtml(whitelistType = WhiteListType.RELAXED,
additionalTagsWithAttributes = {
@SafeHtml.Tag(name = "p", attributes = { "style" })
})
private String body;