2014-09-29 46 views
0

我有一個文本框被填充了數據庫中的數據,和這裏的問題是,當用戶更新該字段。他們補充編輯一個新行,但是當我打印出來,這一切都在短短的一行,見下圖:文本字段不打印格式

什麼是輕鬆地更新這一領域,並打印友好的最佳解決方案?

這裏是用戶編輯文本字段:

Here is the user editing the textfield

這裏被打印出來,看到了嗎?未格式化:

and here is I'm printing it. I would like it as image 1

希望我是清楚的在這裏。對不起,對不起。謝謝你的幫助!

回答

2

如果您查看「顯示頁面」的源代碼,你會看到它確實包含換行符,但是HTML呈現面具他們。

一個建議是包裹輸出在pre標籤。這將導致在用戶輸入時,空格和所有被精確地顯示輸出:

<pre><c:out value="${row.currentStatus}" /></pre> 

另一個建議是使用CSS來實現與上面相同 [JSFiddle]

white-space: pre-wrap; 

另一個建議是如下與休息,以取代換行符:

<% pageContext.setAttribute("linefeed", "\n"); %> 
<c:out value="${fn:replace(row.currentStatus, linefeed, "<br />")}" escapeXml="false" /> 

可選做第三項建議在你的控制器,以避免指定escapeXml="false"這可能是一個安全問題。

+0

嘿,我用這一個,沒有話好說了它是如何幫助我先生!非常感謝!!! <%pageContext.setAttribute( 「換行」, 「\ n」); %> 「)}」 將escapeXml = 「假」/> – letakeda 2014-09-30 13:54:17

0

更換新的生產線,打破

str = str.replaceAll("(\r\n|\n)", "<br />");