如何在不渲染所有内容的情况下使用 j2html
How do I use j2html without rendering everything
我正在将我的 html 渲染代码转换为使用 j2html。虽然我喜欢这个库,但一次转换所有代码对我来说并不容易,所以有时我可能会将外部 html 转换为使用 j2html 但无法转换内部 html 到 j2html 同时。所以我希望 j2html 能够接受传递给它的已经呈现的文本,但它总是重新呈现它所以
System.out.println(p("<b>the bridge</b>"));
returns
<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>"));
}
}
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;
不过要小心..
我正在将我的 html 渲染代码转换为使用 j2html。虽然我喜欢这个库,但一次转换所有代码对我来说并不容易,所以有时我可能会将外部 html 转换为使用 j2html 但无法转换内部 html 到 j2html 同时。所以我希望 j2html 能够接受传递给它的已经呈现的文本,但它总是重新呈现它所以
System.out.println(p("<b>the bridge</b>"));
returns
<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>"));
}
}
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;
不过要小心..