10

我正在将我的 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>"));
    }

}
4

2 回答 2

5
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>
于 2017-06-22T14:28:01.320 回答
1

在 j2html 1.1.0 中,您可以通过编写禁用文本转义

Config.textEscaper = text -> text;

不过要小心..

于 2017-08-14T21:47:54.543 回答