Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带换行符的GWT标签_Gwt - Fatal编程技术网

带换行符的GWT标签

带换行符的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

GWT标签小部件将所有内容都设置为文本,而不是html标记-这很好,但我希望它将
\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}" />