0

次のコードがあります。

<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正しく表示されます。

4

1 に答える 1

1

ほとんどの HTML 要素とは異なり、<textarea>空白を保持します (この jsfiddle を参照してください)。

これは、改行をそのままにして HTML をレンダリングすることが解決策であることを意味します。

うまくいかない場合は、途中で空白を取り除く必要があります。これをデバッグするには:

  1. Web ブラウザーで HTML を確認します (ソース ビュー)。改行はありますか?
  2. Web ブラウザーの JavaScript デバッガーで応答を確認します。改行はありますか?
  3. 「不要な」空白を削除するフィルタが web.xml にインストールされていますか?
  4. JSP の出力を確認します。本当に改行を出力に書き込みますか?
于 2012-06-09T12:25:49.377 に答える