【发布时间】:2014-09-29 19:55:04
【问题描述】:
我有一个使用数据库中的数据填充的文本字段,这里的问题是用户何时更新此字段。他们在编辑时添加了一个新行,但是当我打印它时,它就在一行中,见下文:
轻松更新此字段并友好打印的最佳解决方案是什么?
这是用户编辑文本字段:
这里正在打印,看到了吗?未格式化:
希望我在这里很清楚。对不起,如果没有。感谢您的帮助!
【问题讨论】:
标签: html jsp tomcat jstl textfield
我有一个使用数据库中的数据填充的文本字段,这里的问题是用户何时更新此字段。他们在编辑时添加了一个新行,但是当我打印它时,它就在一行中,见下文:
轻松更新此字段并友好打印的最佳解决方案是什么?
这是用户编辑文本字段:
这里正在打印,看到了吗?未格式化:
希望我在这里很清楚。对不起,如果没有。感谢您的帮助!
【问题讨论】:
标签: html jsp tomcat jstl textfield
如果您查看“显示页面”的源代码,您会发现它确实包含换行符,但是 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",这可能是一个安全问题。
【讨论】:
换行换行
str = str.replaceAll("(\r\n|\n)", "<br />");
【讨论】: