如何在 vaadin 标签上添加 html 格式?

MrR*_*ene 0 html string text label vaadin

我想在 vaadin 标签上添加 html 格式的字符串。该字符串来自数据库并直接进入标签,它必须使用粗体文本、换行符和其他一些花哨的文本进行格式化。我找到了几个解决方案,但这些解决方案适用于旧版本的 vaadin,有没有办法在 vaadin 流上执行此操作?

ana*_*smi 5

您可以使用以下方法将 HTML 内容添加到标签:

        Label label = new Label();
        label.getElement().setProperty("innerHTML","A new line should be created after this <br /> <b>This text is bold</b> <br /> <i> This text is italic</i>");
        add(label);
Run Code Online (Sandbox Code Playgroud)

但是,如果您只想显示文本,那么标签不是正确使用的元素。正如其API中所述:

请注意,Label 组件不适用于页面中的松散文本 - 它们应该通过使用 setFor(Component) 或使用 HasComponents.add(Component...) 方法将它们添加到另一个组件中与另一个组件耦合。

我会使用该HTML元素来代替:

        String yourContent ="A new line should be created after this <br /> <b>This text is bold</b> <br /> <i> This text is italic</i>";
        Html html = new Html("<text>" + yourContent + "</text>");
        add(html);
Run Code Online (Sandbox Code Playgroud)

输出 :

在此输入图像描述

或者,您可以封装功能并创建一个通用组件,用于使用此处的示例显示 HTML 片段: https: //vaadin.com/forum/thread/17072019