2012-06-09 132 views
0

我有以下代碼:保留 n在jsp頁面

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

當調試 「marksAndNumbers」 在我controller.it值顯示如下:

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顯示相同的值,則無法正確顯示。

+0

東西正在逃離你的html。 –

回答

1

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

這意味着解決方案是使用換行符完整地呈現HTML。

如果它不適合你,東西必須在路上剝掉空白。要進行調試,請執行以下操作:

  1. 檢查Web瀏覽器(源視圖)中的HTML。那裏有換行符?
  2. 檢查您的Web瀏覽器的JavaScript調試器中的響應。那裏有換行符?
  3. 你的web.xml中是否安裝了過濾器去除「不必要的」空格?
  4. 檢查您的JSP的輸出。它是否真的在輸出中寫入換行符?