在html中自动换行?

时间:2010-09-15 08:15:57

标签: html jsp

我在JSP页面中有一个HTML文本区域。当我连续按下一个按钮并且光标到达行结束时,它会自动转到第二行。

当我收到此文本并尝试在<p>标记内打印时,换行符消失 并且整个文本出现在一行中,而不是像我输入的那样单独的行 任何想法如何使用新线正确打印它?

4 个答案:

答案 0 :(得分:2)

听起来你期望textarea的自动换行被翻译成换行符。

您在文本区域看到的是自动换行,而不是换行符。除非您按Enter键进入手动换行符,否则最终文本中不会有任何换行符。

其次,如果您将物理换行符放入文本中,如果您在HTML页面中显示它,您仍然看不到它们,因为HTML会抑制空格和换行符。如果您想查看换行符,则需要补偿HTML。有两种方法可以做到这一点:

  • 使用您的编程语言(JSP,来自您的标签)用&lt; br&gt;替换换行符HTML将理解为换行符的标签。
  • 在设置为显示空白区域的块中显示页面上的文本。这可能是旧的方式,使用&lt; pre&gt;标签,或设置空白区域的新方法:预包装; CSS风格。 (请注意,如果您需要支持IE6,CSS样式将不适合您,因此您需要使用&lt; pre&gt;)

答案 1 :(得分:2)

如果你想在textarea中包装变成换行符(\n)设置wrap="hard",即:

<textarea wrap="hard"></textarea>

来源:https://developer.mozilla.org/en/HTML/Element/textarea

答案 2 :(得分:0)

*)您可以限制用户侧A元素的宽度以启动中断;
*)或者您可以在服务器端插入中断

答案 3 :(得分:0)

您可以在服务器端使用此方法和/或将其实现为JSP标记:

public static String nl2br(String s) {
  return s.replaceAll("\n","<br/>");
}

此方法用等效的html替换所有换行符。