Textfield不打印格式化

时间:2014-09-29 19:55:04

标签: html jsp tomcat jstl textfield

我的文本字段中填充了数据库中的数据,此处的问题是用户更新此字段的时间。他们在编辑时添加了一个新行,但是当我打印它时,它只在一行中,见下文:

轻松更新此字段并将其打印友好的最佳解决方案是什么?

以下是编辑文本字段的用户:

Here is the user editing the textfield

这是打印它,看到了吗?未格式化:

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

希望我在这里很清楚。对不起,如果不是谢谢你的帮助!

2 个答案:

答案 0 :(得分: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"

答案 1 :(得分:0)

替换新行以打破

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