0

私たちの 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" になります。

4

2 に答える 2

0

これらの余分な改行と空白は、XSL変換(このような改行/空白の問題を認識せずに開発されたもの)からの典型的なものです。

繭アプリケーションでXSLTを使用している可能性があり、その点についてはチェックする必要があります。

あなたが取ることができる多くのよく知られた注意があります。SO(XSLT-テンプレートから空白を削除)から始めて、これらのアイデアを得ることができます。

于 2012-11-05T01:35:20.117 に答える
0

ここに考えがあります...実際にページをクライアントに出力するには何を使用しますか? 私は Cocoon 環境に完全に精通しているわけではありませんが、ある種の「テンプレート」エンジン (JSP? Velocity?) を使用していると思います。私は、textarea要素を持つサーバー側の実際のファイルについて話している。要素を含むコードのスニペットをここに貼り付けてtextareaください。

于 2010-10-08T07:04:23.647 に答える