Как я могу использовать j2html без рендеринга все

Я конвертирую свой код рендеринга html, чтобы использовать j2html. Хотя мне нравится библиотека, мне нелегко конвертировать весь код за один раз, поэтому иногда я могу конвертировать внешний html в j2html, но не могу одновременно конвертировать внутренний html в j2html. Поэтому я хотел бы, чтобы j2html мог принимать переданный ему текст как уже обработанный, но он всегда повторно отображает его так

System.out.println(p("<b>the bridge</b>"));

возвращается

<p>&lt;b&gt;the bridge&lt;/b&gt;</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;

Будьте осторожны, хотя..

Другие вопросы по тегам