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à 302
un reindirizzamento. Se hai bisogno 301
di 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>
GO TO FULL VERSION