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