Разрывы строк и пробелы в TextAreas - PullRequest
0 голосов
/ 13 сентября 2010

В нашей среде Cocoon у нас есть несколько форм с текстовыми зонами. Как только пользователь отправляет форму, перед ее окончательной отправкой отображается обзор. Поэтому данные каждого объекта формы хранятся в POJO. Если пользователь находится на этой странице обзора и решает вернуться к форме, форма заполняется уже представленными данными, считанными из POJO. Однако при заполнении текстовой области данными из JavaObject некоторые разрывы строк и пробелы добавляются к данным. Я проверил данные POJO для этих разрывов строк, но строка выглядит чистой. Каждый пробел, введенный пользователем, имеет символ 32, который является простым пробелом.

Я также проверил Serializer (мы используем пользовательский, который расширяет AbstractSerializer Cocoon), но здесь не было разрывов / пробелов, добавленных случайно.

При использовании Javascript для вывода текущего содержимого этого Textarea, однако, оно содержит символы переноса строки ('\ n'), а также вышеупомянутые дополнительные пробелы.

Мое подозрение заключается в том, что преобразование Space-Character в Java в символы HTML каким-то образом завершается неудачей. Эти разрывы строк появляются вместо пробелов, а не внутри одного слова. Они также меняют положение в зависимости от размера текстовой области. Они не в конце строки, поэтому их нельзя принудительно обернуть или что-то еще.

Пример: Пользовательский ввод "test test test test test" становится "test \ n [36x Space] test test test test"

Ответы [ 2 ]

0 голосов
/ 05 ноября 2012

Эти дополнительные разрывы строк и пробелы типичны для XSL-преобразований (которые были разработаны без ведома таких разрывов строк / пробелов).

Вполне вероятно, что вы используете XSLT в своем приложении кокона, и, возможно, их следует проверить по этому вопросу.

Существует ряд известных предостережений, которые вы можете предпринять. Вы можете запустить на SO (XSLT - удалить пробелы из шаблона) , чтобы получить представление об этом.

0 голосов
/ 08 октября 2010

Вот мысль ... Что вы используете для вывода страницы клиенту? Я не совсем знаком со средой Cocoon, но я предполагаю, что вы используете некоторый своего рода "шаблонный" движок (JSP? Velocity?). Я говорю о самом файле на стороне сервера, который имеет элемент textarea; вставьте сюда фрагмент кода, который включает элемент textarea, и мы увидим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...