5.1 omfatter
Der er et par mere magiske direktiver, som jeg gerne vil tale om. Det første sådant direktiv er inkluderingsdirektivet . Det giver dig mulighed for at indsætte en anden fil på det sted på siden, hvor den er angivet. Den generelle udformning af et sådant direktiv er:
<%@ include file="url"%>
Du kan angive ikke bare en fil, men for eksempel en anden jsp-servlet eller endda en url.
Eksempel:
<%@ include file="header.jsp"%>
<%
double num = Math.random();
if (num > 0.95) {
out.print(num);
}
%>
<%@ include file="footer.jsp"%>
Du kan for eksempel lægge den øverste del af alle sider på siden i header.jsp, og den nederste del i footer.jsp og samle alle sider som en konstruktør.
5.2 frem
Kan du huske, at klassiske servlets har mulighed for at omdirigere eller videresende til en anden url? I JSP er dette også muligt, og der er en særlig handling til dette. Dens udseende er lidt anderledes end hvad du så før:
<jsp:forward page="url"/>
Der er også en mere avanceret mulighed - med parametre:
<jsp:forward page="url" >
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
</jsp:forward>
Eksempel:
<html>
<head>
<title>The Forward Example</title>
</head>
<body>
<center>
<h2> Forward example </h2>
<jsp:forward page="login.jsp"/>
</center>
</body>
</html>
5.3 Omdirigering
Der er ikke noget særligt direktiv for en omdirigering, men det kan gøres ved at kalde Java-kode.
Eksempel:
<body>
<%
String redirectURL = "https://codegym.cc/";
response.sendRedirect(redirectURL);
%>
</body>
Dette eksempel sender 302
en omdirigering. Hvis du har brug for 301
en omdirigering, skal du skrive et par linjer kode mere:
<body>
<%
response.setStatus(301);
response.setHeader("Location", "https://codegym.cc/");
response.setHeader("Connection", "close");
%>
</body>
GO TO FULL VERSION