带换行符的GWT标签

Hur*_*rda 19 gwt

GWT Label小部件将所有内容都解释为文本,而不是html标签 - 这很好,但我希望它能解释\n<br />我如何做到这一点.

我会创建子类,但我无法找到要覆盖的内容来实现此行为

(我可以使用HTML小部件,但它会解释所有标签 - 而我所需要的只是一个线条制动器)

Tho*_*yer 25

使用HTML小部件并使用以下SafeHtml构造设置其值SafeHtmlBuilder.appendEscapedLines:

HTML label = new HTML(new SafeHtmlBuilder().appendEscapedLines("foo<bar\nbaz>quux").toSafeHtml());
Run Code Online (Sandbox Code Playgroud)

(或者,您可以使用split("\n", -1)文本,调用SafeHtml.htmlEscape每个部分并将它们连接起来<br>,这就是做什么appendEscapedLines)


Hen*_*sen 18

另一种选择是使用CSS,这在某些出现此问题的情况下可能就足够了.

添加CSS属性white-space: prepre-wrap在显示文本的区域中.它将确保在渲染文档时遵循换行符.

这种方法有可能降低一些复杂性,例如\n替换为输入的处理<br/>.


RAS*_*RAS 5

你可以用com.google.gwt.user.client.ui.HTMLclass来实现这个或者简单地写,

Label label = new HTML("// html code you wnat to write");
Run Code Online (Sandbox Code Playgroud)