Разрывы строк HTML не отображаются должным образом на странице

#html #jsp

#HTML #jsp

Вопрос:

Я использую html5 для своего JSP. У меня есть ячейка таблицы, внутри которой я отображаю текст. Для новой строки я добавил тег разрыва строки, но он не работает и отображает тег разрыва строки так, как он есть вместе с моим текстом.

Я отображаю это в своем jsp следующим образом.

 <!DOCTYPE html>  
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<table>
  <tr>
    <td>
      <c:out value="${visitInfo.referralText}" />
    </td>
  </tr>
</table>
  

visitInfo.referralText содержит текст.

Комментарии:

1. Покажите свой отрисованный HTML, а не серверный код.

2. Вы имеете < в виду, что преобразуется в amp;< правильное?

3. <BR/> отображается так, как оно находится внутри ячейки таблицы. Это мой html-код, а не код на стороне сервера. текст внутри visitInfo.referralText будет отображаться как «Test1<br />Test2»

4. @Parag, это ваш код на стороне сервера, потому что в нем все еще есть тег JSTL. @isherwood, имел в виду просмотреть исходный код в браузере и опубликовать его. Если бы вы это сделали, вы бы увидели, что < это преобразуется amp;< , поэтому оно отображается как < в браузере, а не рассматривается как начало тега HTML.

5. Честно говоря, код на стороне сервера тоже был полезен.

Ответ №1:

Попробуйте использовать escapeXml атрибут of c:out .

 <c:out value="${visitInfo.referralText}" escapeXml="false"/>
  

Комментарии:

1. Если проблема решена, закройте поток, приняв ответ, щелкнув или правой зеленой меткой в ответе.