GWT标签小部件iterprets将所有内容作为文本,而不是html标签 - 这很好,但我希望它将\n
解释为<br />
我该怎么做。带换行符的GWT标签
我会做的子类,但我不能找到什么重写来实现这一行为
(我可以使用HTML控件,但它会解释所有的标签 - 和所有我需要的是一个线BRAK)
GWT标签小部件iterprets将所有内容作为文本,而不是html标签 - 这很好,但我希望它将\n
解释为<br />
我该怎么做。带换行符的GWT标签
我会做的子类,但我不能找到什么重写来实现这一行为
(我可以使用HTML控件,但它会解释所有的标签 - 和所有我需要的是一个线BRAK)
使用HTML控件和使用SafeHtml
与SafeHtmlBuilder.appendEscapedLines
构建其值设置:
HTML label = new HTML(new SafeHtmlBuilder().appendEscapedLines("foo<bar\nbaz>quux").toSafeHtml());
(或者,您也可以split("\n", -1)
你的文字,呼吁各部分SafeHtml.htmlEscape
并用<br>
加入他们回来了,这就是appendEscapedLines
一样)
您可以使用com.google.gwt.user.client.ui.HTML
类来实现这一点或干脆写,
Label label = new HTML("// html code you wnat to write");
另一种选择是使用CSS,这可能是一些充分出现这个问题的案例。
在显示文本的区域中添加CSS属性white-space: pre
或pre-wrap
。它将确保在呈现文档时遵守换行。
该方法有可能降低一些复杂性,例如,其中\n
被替换为<br/>
的输入处理。
简单,干净,并且完美地工作。谢谢! – 2017-02-27 09:26:40
在XML文件中用HTML显示多行文本的问题是我们不允许在内容中使用字符<。例如,下面的代码不能被编译:
<g:HTML HTML="Line 1<br />Line2<br />Line 3" />
在我的情况,我声明文本作为一个国际化的字符串,然后在HTML中使用
<ui:with field='ln' type='com.mycompany.i18n.LocalizableStrings'/>
<g:HTML HTML="{ln.EXPLAINATION}" />
我不明白它的东西是:为什么如果有人不希望他们被视为HTML,会有人使用HTML标签吗? – RAS 2011-05-31 12:06:32
例如用户输入的限制呈现... – Hurda 2011-05-31 13:20:51