5.1 включва
Има още няколко магически указания, за които бих искал да говоря. Първата такава директива е директивата за включване . Позволява ви да вмъкнете друг файл на мястото на pageта, където е посочено. Общият формат на такава директива е:
<%@ include file="url"%>
Можете да посочите не само файл, но например друг jsp-servlet or дори url.
Пример:
<%@ include file="header.jsp"%>
<%
double num = Math.random();
if (num > 0.95) {
out.print(num);
}
%>
<%@ include file="footer.jsp"%>
Можете например да поставите горната част на всички страници на сайта в header.jsp, а долната част в footer.jsp и да съберете всички страници като конструктор.
5.2 напред
Не забравяйте, че класическите сервлети имат способността да пренасочват or препращат към друг url? В JSP това също е възможно и има специално действие за това. Външният му вид е малко по-различен от това, което сте виждали преди:
<jsp:forward page="url"/>
Има и по-разширена опция - с параметри:
<jsp:forward page="url" >
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
</jsp:forward>
Пример:
<html>
<head>
<title>The Forward Example</title>
</head>
<body>
<center>
<h2> Forward example </h2>
<jsp:forward page="login.jsp"/>
</center>
</body>
</html>
5.3 Пренасочване
Няма специална директива за пренасочване, но може да се направи чрез извикване на Java code.
Пример:
<body>
<%
String redirectURL = "https://codegym.cc/";
response.sendRedirect(redirectURL);
%>
</body>
Този пример ще изпрати 302
пренасочване. Ако имате нужда 301
от пренасочване, тогава трябва да напишете още няколко реда code:
<body>
<%
response.setStatus(301);
response.setHeader("Location", "https://codegym.cc/");
response.setHeader("Connection", "close");
%>
</body>
GO TO FULL VERSION