5.1 incluye

Hay algunas directivas mágicas más de las que me gustaría hablar. La primera directiva de este tipo es la directiva include . Le permite insertar otro archivo en el lugar de la página donde se indica. El formato general de dicha directiva es:

<%@ include file="url"%>

Puede especificar no solo un archivo, sino, por ejemplo, otro jsp-servlet o incluso una URL.

Ejemplo:

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

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

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

Puede, por ejemplo, colocar la parte superior de todas las páginas del sitio en header.jsp y la parte inferior en footer.jsp y recopilar todas las páginas como un constructor.

5.2 Reenviar

¿Recuerdas que los servlets clásicos tienen la capacidad de redirigir o reenviar a otra URL? En JSP, esto también es posible y existe una acción especial para ello. Su apariencia es ligeramente diferente de lo que viste antes:

 <jsp:forward page="url"/>

También hay una opción más avanzada, con 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>

Ejemplo:


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

5.3 Redirigir

No hay una directiva especial para una redirección, pero se puede hacer llamando al código Java.

Ejemplo:



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

Este ejemplo enviará 302una redirección. Si necesita 301una redirección, debe escribir un par de líneas más de código:



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