在jsp页面中保留\ n

时间:2012-06-09 11:39:37

标签: html spring jsp textarea jstl

我有以下代码:

<form:textarea rows="3" cols="21"  path="marksAndNumbers" onchange="changed()" htmlEscape="false"/></td>

当我在我的controller.it中调试“marksAndNumbers”的值时,显示如下:

Stores
PO# 4640995
DPCI-Item# 069000364
Style# TB1124
COLOR 
SIZE 
CASEPACK 6
COUNTRY OF ORIGIN 
CHINA

但是当我尝试使用<textarea>标记显示此内容时,不会保留换行符,并且所有内容都显示在同一行中。

StoresPO# 4640995 DPCI-Item# 069000364 Style# TB1124COLOR SIZE CASEPACK 6 COUNTRY OF ORIGIN CHINA

我尝试用控制器中的"<br/>"替换“\ n”,显示为:

Stores
<br/>PO# 4640995
<br/>DPCI-Item# 069000364
<br/>Style# TB1124
<br/>COLOR 
<br/>SIZE 
<br/>CASEPACK 6
<br/>COUNTRY OF ORIGIN 
<br/>HEIGHT 19.81 CM

但如果我使用c:out显示相同的值,则表示正确显示。

1 个答案:

答案 0 :(得分:1)

与大多数HTML元素不同,<textarea>会保留空白(see this jsfiddle)。

这意味着解决方案是使用新行完整呈现HTML。

如果它对您不起作用,必须在途中删除空白。要调试这个:

  1. 检查网络浏览器中的HTML(来源视图)。那里有新行吗?
  2. 在您的网络浏览器的JavaScript调试器中检查响应。那里有新行吗?
  3. 您的web.xml中是否安装了过滤器,用于删除“不必要的”空格?
  4. 检查JSP的输出。它是否真的在输出中写入换行符?