TGViewer
Java | Вопросы собесов Java | Вопросы собесов @easy_java_ru · 11.3K subscribers
Post #523 3.92K
📌 Как сделать перенос строки в HTML средствами JSP ?

💬 Спрашивают в 6% собеседований

Для переноса строки в HTML с помощью JSP можно использовать несколько методов, включая непосредственно HTML теги, JSP Expression Language (EL) и JSTL (JavaServer Pages Standard Tag Library).

1️⃣ Использование HTML тегов

Самый простой способ сделать перенос строки в HTML — использовать тег <br>.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Line Break Example</title>
</head>
<body>
<p>This is line 1.<br>This is line 2.</p>
</body>
</html>


2️⃣ Использование JSP Expression Language (EL)

Если получаете строку из бэкэнда и хотите вставить переносы строк, можно преобразовать символы новой строки (\n) в HTML тег <br>.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>EL Line Break Example</title>
</head>
<body>
<%
String text = "This is line 1.\nThis is line 2.";
request.setAttribute("text", text);
%>
<p>${fn:replace(text, '\n', '<br>')}</p>
</body>
</html>


3️⃣ Использование JSTL и тегов c:forEach

Можно разделить строку на части и вывести каждую часть в отдельном абзаце или строке.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<html>
<head>
<title>JSTL Line Break Example</title>
</head>
<body>
<%
String text = "This is line 1.\nThis is line 2.\nThis is line 3.";
request.setAttribute("text", text);
%>
<c:forEach var="line" items="${fn:split(text, '\n')}">
<p>${line}</p>
</c:forEach>
</body>
</html>


4️⃣ Обработка многострочного текста с использованием pre тега

Для отображения многострочного текста без необходимости замены символов новой строки можно использовать HTML тег <pre>.
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Preformatted Text Example</title>
</head>
<body>
<%
String text = "This is line 1.\nThis is line 2.\nThis is line 3.";
request.setAttribute("text", text);
%>
<pre>${text}</pre>
</body>
</html>


5️⃣ Использование пользовательского метода в JSP

Также можно создать пользовательский метод в классе Java, который будет заменять символы новой строки на теги <br>, и использовать его в JSP странице.

➕ Класс утилит:
package com.example.util;

public class StringUtil {
public static String convertNewlinesToHtml(String text) {
if (text == null) {
return "";
}
return text.replace("\n", "<br>");
}
}


➕ JSP страница:
<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.example.util.StringUtil" %>
<html>
<head>
<title>Custom Method Line Break Example</title>
</head>
<body>
<%
String text = "This is line 1.\nThis is line 2.";
%>
<p><%= StringUtil.convertNewlinesToHtml(text) %></p>
</body>
</html>


🤔 Для переноса строки в HTML с использованием JSP можно применять различные методы:

1️⃣ HTML тег `<br>`: Самый простой способ для статического текста.

2️⃣ JSP Expression Language (EL): Преобразование символов новой строки в теги <br> с помощью функции fn:replace.

3️⃣ JSTL и c:forEach: Разделение текста на строки и вывод каждой строки отдельно.

4️⃣ HTML тег <pre>: Для отображения многострочного текста без изменений.

5️⃣ Пользовательский метод: Создание и использование метода для преобразования символов новой строки в теги <br>.

Каждый из этих методов имеет свои преимущества и используется в зависимости от конкретных требований и контекста задачи.

🔥 ТОП ВОПРОСОВ С СОБЕСОВ

🔒 База собесов | 🔒 База тестовых
  • 👍 1
More from @easy_java_ru
  1. Oct 11, 2026🤔 Чем отличается where от having ? WHERE и HAVING используются для фильтрации записей, но…
  2. Oct 10, 2026🤔 На основании какой структуры данных реализован ArrayList? ArrayList реализован на базе…
  3. Oct 9, 2026🤔 Что такое «HTML»? HTML (HyperText Markup Language) — это язык разметки, используемый дл…
  4. Oct 9, 2026🤔 В чём различие между LeftJoin , RightJoin и InnerJoin? LEFT JOIN, RIGHT JOIN и INNER JO…
  5. Oct 8, 2026🤔 Что такое поток "демон"? Демон-поток — это поток, который: - Работает на фоне (например…
  6. Oct 7, 2026🤔 Может ли Entity-класс быть абстрактным? Да, Entity может быть абстрактным, если он служ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →