2014-09-29 45 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 />");