我在JSP页面中有一个HTML文本区域。当我连续按下一个按钮并且光标到达行结束时,它会自动转到第二行。
当我收到此文本并尝试在<p>
标记内打印时,换行符消失
并且整个文本出现在一行中,而不是像我输入的那样单独的行
任何想法如何使用新线正确打印它?
答案 0 :(得分:2)
听起来你期望textarea的自动换行被翻译成换行符。
您在文本区域看到的是自动换行,而不是换行符。除非您按Enter键进入手动换行符,否则最终文本中不会有任何换行符。
其次,如果您将物理换行符放入文本中,如果您在HTML页面中显示它,您仍然看不到它们,因为HTML会抑制空格和换行符。如果您想查看换行符,则需要补偿HTML。有两种方法可以做到这一点:
答案 1 :(得分:2)
如果你想在textarea中包装变成换行符(\n
)设置wrap="hard"
,即:
<textarea wrap="hard"></textarea>
答案 2 :(得分:0)
*)您可以限制用户侧A元素的宽度以启动中断;
*)或者您可以在服务器端插入中断
答案 3 :(得分:0)
您可以在服务器端使用此方法和/或将其实现为JSP标记:
public static String nl2br(String s) {
return s.replaceAll("\n","<br/>");
}
此方法用等效的html替换所有换行符。