5.1 comprende

Ci sono alcune altre direttive magiche di cui vorrei parlare. La prima direttiva di questo tipo è la direttiva include . Permette di inserire un altro file al posto della pagina dove è indicato. Il formato generale di tale direttiva è:

<%@ include file="url"%>

Puoi specificare non solo un file, ma, ad esempio, un altro jsp-servlet o anche un URL.

Esempio:

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

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

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

Puoi, ad esempio, inserire la parte superiore di tutte le pagine del sito in header.jsp e la parte inferiore in footer.jsp e raccogliere tutte le pagine come costruttore.

5.2 avanti

Ricordi che i servlet classici hanno la capacità di reindirizzare o inoltrare a un altro URL? In JSP, anche questo è possibile e c'è un'azione speciale per questo. Il suo aspetto è leggermente diverso da quello che hai visto prima:

 <jsp:forward page="url"/>

C'è anche un'opzione più avanzata - con parametri:

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

Esempio:


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

5.3 Reindirizzamento

Non esiste una direttiva speciale per un reindirizzamento, ma può essere eseguito chiamando il codice Java.

Esempio:



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

Questo esempio invierà 302un reindirizzamento. Se hai bisogno 301di un reindirizzamento, devi scrivere un altro paio di righe di codice:



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