У меня есть JSP , содержащий textarea:

<label for="personalMessage">
  <fmt:message key="text.createapersonalmessage" /> 
  <a class="helpIcon" 
     title="<fmt:message key="description.receiptmessage" />" 
     href="javascript:;">  
    <img src="resources/images/helpIcon.png" 
         width="16" 
         height="16" 
         border="0" 
         align="bottom">
  </a>
</label>
<fmt:message key="text.createapersonalmessage" var="createapersonalmessage">
</fmt:message>
<form:textarea path="personalMessage" maxlength="140" rows="3" cols="20" 
placeholder="${createapersonalmessage}" class="hasPlaceholder" />

textarea с путем personalMessage может содержать символы новой строки или символы табуляции. Мне нужно сохранить форматирование, когда содержимое отправляется обратно на мой контроллер. Прямо сейчас я вижу, что все символы новой строки / вкладки преобразуются в пробелы с помощью Spring после нажатия кнопки отправки.

<input type="submit" 
       name="" 
       value="<fmt:message key="text.savesettings"/>" 
       id="" 
       class="css3button" style="width:auto;" />

Можно ли сохранить символы новой строки / табуляции? Я пробовал использовать / n, / r / n, & # 10 и & # 13 и пробел-pre в моем css, но, похоже, ничего не работает.

Изменить: я использую Spring MVC. Итак, после нажатия кнопки submit мои сеттеры вызываются весной, и в данных, отправленных в сеттер, все символы новой строки / вкладки заменяются пробелами. У меня нет способа отличить желаемые пробелы от «преобразованных» пробелов.

1
Manali 21 Авг 2014 в 01:45

3 ответа

Лучший ответ

Хорошо, очевидно, все, что мне нужно, это установить

wrap = "physical"

Для моего textArea.

Спасибо за вашу помощь!

1
Manali 21 Авг 2014 в 21:40

Добавление htmlEscape="false" к вашему определению <form:textarea> должно работать ...

Это позволит избежать замены символов, которые недопустимы в HTML, например, новых строк и вкладок, среди прочего.

0
Cristian Meneses 20 Авг 2014 в 22:15

Ваша форма Spring выглядит правильно, и я думаю, что Spring также правильно обрабатывает ваши данные.

Вам нужно заменить символы новой строки '\ n' на HTML

<br/>

Тег при выводе данных.

0
Stefan Haberl 20 Авг 2014 в 22:05