Директиви JSP

Модуль 3. Java Professional
Рівень 13 , Лекція 4
Відкрита

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>

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ