带换行符的GWT标签
GWT标签小部件将所有内容都设置为文本,而不是html标记-这很好,但我希望它将带换行符的GWT标签,gwt,Gwt,GWT标签小部件将所有内容都设置为文本,而不是html标记-这很好,但我希望它将\n解释为我该怎么做 我会创建子类,但我找不到要重写什么来实现这种行为 (我可以使用HTML小部件,但它可以解释所有标记-我需要的只是一句废话)您可以使用com.google.gwt.user.client.ui.HTML类来实现这一点,或者简单地编写 Label label = new HTML("// html code you wnat to write"); 使用HTML小部件,并使用以下构造的SafeHt
\n
解释为
我该怎么做
我会创建子类,但我找不到要重写什么来实现这种行为
(我可以使用HTML小部件,但它可以解释所有标记-我需要的只是一句废话)您可以使用
com.google.gwt.user.client.ui.HTML
类来实现这一点,或者简单地编写
Label label = new HTML("// html code you wnat to write");
使用HTML小部件,并使用以下构造的
SafeHtml
设置其值:
HTML label=newhtml(new SafeHtmlBuilder().appendEscapedLines(“fooqux”).toSafeHtml());
(或者,您可以
拆分(“\n”,-1)
您的文本,在每个部分调用SafeHtml.htmlEscape
,然后用
将它们连接起来,这就是附加转义行所做的)另一个选项是使用CSS,在出现此问题的某些情况下,这可能已经足够了
在显示文本的区域中添加CSS属性空白:pre
或pre-wrap
。它将确保在呈现文档时遵守换行符
这种方法有可能降低一些复杂性,例如,输入的处理将\n
替换为
在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}" />
我不明白的是:如果不想将HTML标记视为HTML,为什么会有人使用HTML标记?
<ui:with field='ln' type='com.mycompany.i18n.LocalizableStrings'/>
<g:HTML HTML="{ln.EXPLAINATION}" />