Весна ест </textarea> меток - PullRequest
       2

Весна ест </textarea> меток

6 голосов
/ 20 октября 2011

В моем веб-приложении (моем первом с Java, Spring или OR Roo) я создаю форму, которая не имеет ничего общего с JPA-объектами, это просто форма.Я действительно не хочу использовать JSTL для создания моих форм здесь, потому что на данный момент нет данных для них.Я использую плитки для сборки страниц, поэтому внутренности этой формы исходят из представления, но кроме этого в этом нет ничего JSPish;это просто форма.

Внутри этой формы у меня есть текстовая область, которую я написал:

<textarea id="whatever" name="whatever"></textarea>

Когда дело доходит до экрана, тег исчезает.Разные браузеры справляются с этим по-разному, включая поглощение всего остального тела HTML внутри поля текстовой области.

Поэтому я попытался поместить некоторый контент в эту область текста.Пробелы и разрывы строк не изменяют его поведение, но, похоже, это делает любой непробельный символ.Если я пойду

<textarea>.</textarea>

... это будет уважать мой тэг textarea.Но тогда, конечно, моя текстовая область отображается на экране с точкой, чего я не хочу.

Это известная проблема?Я делаю что-то не так?

РЕДАКТИРОВАТЬ: @bozho: Вот соответствующий кусок моего jsp:

<div id="notes" class="detailPanel">
    <div class="panelLabel">Notes</div>
    <table >
    <thead><tr><th>Date</th><th>By</th><th>Note</th></tr></thead>
    <tbody id="notesBody"></tbody>
    </table>
    <textarea id="newNote" rows="5" cols="80" >.</textarea>
    <button id="addNewNote" onClick="saveNote();">Add New Note</button>
</div>

Абсолютно ничего необычного здесь происходит (я заполняю tbody строками на клиентеВот почему это пусто).Без точки в строке от третьей до последней закрывающий тег textarea не будет отображаться в результирующем HTML.

EDIT2 (Решение):

Этот URL-адрес стал доступным для поиска, услышав какой-то ключслова отвечающих здесь людей: http://www.jroller.com/komu/entry/textareas_with_jspx

Оказывается, что при разборе страниц jspx пустые теги объединяются в один самозакрывающийся тег, который разбивает текстовые области.Решение состоит в том, чтобы поместить пустой jsp: текст посередине:

<textarea><jsp:text /></textarea>

(что поразительно глупо, но это так.)

1 Ответ

6 голосов
/ 20 октября 2011

Вы используете файлы JSPX не так ли? В общем случае jspx удаляет что-то (или в вашем случае это сокращает это: проверьте это: я ожидаю, что он добавляет косую черту к предыдущему открывающему тегу, поэтому он становится: <textarea id="whatever" name="whatever"/>), где он считает, что это не нужно. Что именно зависит от реализации.

Поэтому поместите тег <jsp:text> в тег текстовой области, чтобы он не закрывался

<jsp:text>
    <textarea id="whatever" name="whatever"></textarea>
</jsp:text>

<textarea id="whatever" name="whatever"><jsp:text /></textarea>

для более сложного примера взгляните на этот ответ: websphere 7 (и Spring Roo) несовместим с javax.el.ELException

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