【问题标题】:Textfield not printing formatted文本字段未打印格式化
【发布时间】:2014-09-29 19:55:04
【问题描述】:

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

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

这是用户编辑文本字段:

这里正在打印,看到了吗?未格式化:

希望我在这里很清楚。对不起,如果没有。感谢您的帮助!

【问题讨论】:

    标签: html jsp tomcat jstl textfield


    【解决方案1】:

    如果您查看“显示页面”的源代码,您会发现它确实包含换行符,但是 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",这可能是一个安全问题。

    【讨论】:

    • 嘿,我用过这个,无话可说它对我有什么帮助,先生!非常感谢!!! ")}" escapeXml="false" />
    【解决方案2】:

    换行换行

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-10
      • 1970-01-01
      • 2011-02-04
      • 2015-10-24
      • 1970-01-01
      • 2020-04-15
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多