问题描述
|
GWT标签小部件将所有内容都迭代为文本,而不是html标签-很好,但是我希望将to0解释为
<br />
。
我会创建子类,但找不到实现此行为的替代
(我可以使用HTML窗口小部件,但它可以解释所有标签-而我所需要的只是一行行)
解决方法
使用HTML小部件,并使用由
SafeHtmlBuilder.appendEscapedLines
构造的SafeHtml
设置其值:
HTML label = new HTML(new SafeHtmlBuilder().appendEscapedLines(\"foo<bar\\nbaz>quux\").toSafeHtml());
(或者,您可以在文本上按split(\"\\n\",-1)
,在每个部分上按SafeHtml.htmlEscape
,然后再按<br>
加入,join8ѭ就是这样)
, 另一种选择是使用CSS,这在出现此问题的某些情况下可能就足够了。
在显示文本的区域中添加CSS属性“ 9”或“ 10”。它将确保在呈现文档时遵守换行符。
这种方法具有降低某些复杂性的潜力,例如将“ 0”替换为“ 12”的输入的处理。
, 您可以使用com.google.gwt.user.client.ui.HTML
类来实现此目的,也可以简单地编写,
Label label = new HTML(\"// html code you wnat to write\");
, 在XML文件中显示带有HTML的多行文本的问题是我们不允许在内容中使用字符<。例如,以下代码无法编译:
<g:HTML HTML=\"Line 1<br />Line2<br />Line 3\" />
就我而言,我将该文本声明为i18n字符串,然后在html中使用
<ui:with field=\'ln\' type=\'com.mycompany.i18n.LocalizableStrings\'/>
<g:HTML HTML=\"{ln.EXPLAINATION}\" />