Как я могу использовать j2html без рендеринга все
Я конвертирую свой код рендеринга html, чтобы использовать j2html. Хотя мне нравится библиотека, мне нелегко конвертировать весь код за один раз, поэтому иногда я могу конвертировать внешний html в j2html, но не могу одновременно конвертировать внутренний html в j2html. Поэтому я хотел бы, чтобы j2html мог принимать переданный ему текст как уже обработанный, но он всегда повторно отображает его так
System.out.println(p("<b>the bridge</b>"));
возвращается
<p><b>the bridge</b></p>
есть ли способ получить его на выходе
<p><b>the bridge</b></p>
Полный тестовый кейс
import j2html.tags.Text;
import static j2html.TagCreator.b;
import static j2html.TagCreator.p;
public class HtmlTest
{
public static void main(String[] args)
{
System.out.println(p(b("the bridge")));
System.out.println(p("<b>the bridge</b>"));
}
}
2 ответа
Решение
import static j2html.TagCreator.b;
import static j2html.TagCreator.p;
import static j2html.TagCreator.rawHtml;
public class HtmlTest
{
public static void main(String[] args)
{
System.out.println(p(b("the bridge")));
System.out.println(p(rawHtml("<b>the bridge</b>")));
}
}
Результат:
<p><b>the bridge</b></p>
<p><b>the bridge</b></p>
В j2html 1.1.0 вы можете отключить экранирование текста, написав
Config.textEscaper = text -> text;
Будьте осторожны, хотя..