5.1 inclui

Há mais algumas diretivas mágicas sobre as quais gostaria de falar. A primeira dessas diretivas é a diretiva include . Permite inserir outro arquivo no local da página onde está indicado. O formato geral de tal diretiva é:

<%@ include file="url"%>

Você pode especificar não apenas um arquivo, mas, por exemplo, outro jsp-servlet ou até mesmo um URL.

Exemplo:

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

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

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

Você pode, por exemplo, colocar a parte superior de todas as páginas do site em header.jsp e a parte inferior em footer.jsp e coletar todas as páginas como um construtor.

5.2 para a frente

Lembra que os servlets clássicos têm a capacidade de redirecionar ou encaminhar para outra url? No JSP isso também é possível e existe uma ação especial para isso. Sua aparência é um pouco diferente do que você viu antes:

 <jsp:forward page="url"/>

Existe também uma opção mais avançada - com parâmetros:

<jsp:forward page="url" >
    <jsp:param name="Name" value="meaning"/>
    <jsp:param name="Name" value="meaning"/>
    <jsp:param name="Name" value="meaning"/>
</jsp:forward>

Exemplo:


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

5.3 Redirecionar

Não há nenhuma diretiva especial para um redirecionamento, mas isso pode ser feito chamando o código Java.

Exemplo:



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

Este exemplo enviará 302um redirecionamento. Se você precisar 301de um redirecionamento, precisará escrever mais algumas linhas de código:



<body>
    <%
        response.setStatus(301);
        response.setHeader("Location", "https://codegym.cc/");
        response.setHeader("Connection", "close");
    %>
</body>