2011-02-11 40 views
1


元素中轉換新行(\ r \ n)有沒有方法使用<s:property>標記在<br />HTML元素中轉換新行?Struts 2 - 使用<s:property>

比如我有一個sampleValue屬性下面的字符串值:

Hello world\r\nThis is a new line 

<s:property value="%{sampleValue}" />像渲染:

Hello world<br />This is a new line 

感謝

回答

1

有在Struts2的無工廠這個。如果由於某種原因你preformated文本,那麼我想最簡單的將是:

<pre> 
    <s:property value="sampleValue"/> 
</pre> 

這是可能的,當然得到一個正則表達式到顯示器更換爲「\ r \ n」與< BR/>但有些東西非常難看(我也發現上面的解決方案<pre>相當難看,但大多數人會發現比jsp中間的正則表達式更容易理解)。

注意:您可以使用css屬性「white-space」的值爲「pre」,而不是<,有關css空白屬性的更多信息,請參閱:http://www.w3schools.com/css/pr_text_white-space.asp

3

對不起疏浚這件事,但現在我明白了,我想要一個地方發佈解決方案,以防萬一我再次需要它。 ?;)

<s:property escapeHtml="false" value="sampleValue.replace(\"\n\", \" <br />\")" /> 
0

是的,顯然支柱默認情況下,所有逃逸元的跡象... 只是做到以下幾點:

<s:fielderror escape="false" /> 
<s:actionmessage escape="false" /> 

和斷行應該工作。

0

就試試這個:

的代碼行中的java文件:

<s:property escapeHtml="false" value="datos" /> 

datos += rs.getString(7) + "<br/>"; 

在.jsp文件的代碼行