私たちの Cocoon 環境には、テキストエリアを持ついくつかのフォームがあります。ユーザーがフォームを送信すると、最終的な送信が完了する前に概要が表示されます。したがって、各フォーム オブジェクトのデータは POJO に格納されます。ユーザーがその概要ページにいて、フォームに戻ることにした場合、フォームには、POJO から読み取った送信済みデータが入力されます。ただし、テキストエリアに JavaObject からのデータを入力すると、改行と空白がデータに追加されます。これらの改行について POJO のデータを確認しましたが、文字列はきれいに見えます。ユーザーが入力する各空白は、単純なスペースである文字 32 のものです。
Serializer もチェックしましたが (Cocoon の AbstractSerializer を拡張するカスタムのものを使用しています)、ここで偶然に改行/空白が追加されていません。
ただし、Javascript を使用してその Textarea の現在のコンテンツを出力すると、改行文字 ('\n') と前述の追加の空白が含まれます。
私の疑いは、Java のスペース文字から HTML のスペース文字への変換が何らかの形で失敗することです。これらの改行は、単一の単語内ではなく、スペースの代わりに表示されます。また、テキストエリアのサイズに応じて位置が変わります。それらは行末にないため、ラップなどで強制することはできません。
例: ユーザー入力 "test test test test test" は "test\n [36x Space] test test test test" になります。