我的文本字段中填充了数据库中的数据,此处的问题是用户更新此字段的时间。他们在编辑时添加了一个新行,但是当我打印它时,它只在一行中,见下文:
轻松更新此字段并将其打印友好的最佳解决方案是什么?
以下是编辑文本字段的用户:
这是打印它,看到了吗?未格式化:
希望我在这里很清楚。对不起,如果不是谢谢你的帮助!
答案 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 />");