Директиви JSP

Відкрита

1. include

Є ще кілька чарівних директив, про які хочеться розповісти. Перша така директива – це директива include. Вона дозволяє вставити інший файл у те місце на сторінці, де вона вказана. Ось який вигляд має загальний формат такої директиви:

<%@ include file="url"%>

Можна встановити не просто файл, а, наприклад, інший jsp-сервлет, або навіть url.

Приклад:

<%@ include file="header.jsp"%>

   <%
       double num = Math.random();
       if (num > 0.95) {
           out.print(num);
       }
   %>

<%@ include file="footer.jsp"%>

Можна, наприклад, винести верхню частину всіх сторінок сайту до header.jsp, а нижню – до footer.jsp та збирати усі сторінки як конструктор.

2. forward

Пам'ятаєш, що у класичних сервлетах є можливість виконати redirect чи forward на інший url? У JSP це також можливо, і для цього є спеціальна дія. Її вигляд трохи відрізняється від того, що ми бачили раніше:

<jsp:forward page="url"/>

Також є більш сучасний варіант – із параметрами:

<jsp:forward page="url" >
 <jsp:param name="ім'я" value="значення"/>
 <jsp:param name="ім'я" value="значення"/>
 <jsp:param name="ім'я" value="значення"/>
</jsp:forward>

Приклад:

<html>
   <head>
    <title>The Forward Example</title>
   </head>
   <body>
    <center>
        <h2> Forward example </h2>
 <jsp:forward page="login.jsp"/>
    </center>
   </body>
</html>

3. Редирект

Для редиректа спеціальної директиви немає, але можна його виконати за допомогою виклику Java-коду.

Приклад:

<body>
 <%
 String redirectURL = "https://javarush.com/";
 response.sendRedirect(redirectURL);
 %>
</body>

Цей приклад надішле 302 редирект. Якщо тобі потрібен 301 редирект, то треба написати на кілька рядків коду більше:

<body>
 <%
 response.setStatus(301);
 response.setHeader("Location", "https://javarush.com/");
 response.setHeader("Connection", "close");
 %>
</body>
Коментарі
  • популярні
  • нові
  • старі
Щоб залишити коментар, потрібно ввійти в систему
Для цієї сторінки немає коментарів.