5.1 include
Yana bir nechta sehrli direktivalar bor, ular haqida gaplashmoqchiman. Birinchi bunday direktiva - bu include direktivasi. U sahifaning ko'rsatilgan joyiga boshqa faylni qo'shishga imkon beradi. Bunday direktivaning umumiy formati quyidagicha ko'rinishga ega:
<%@ include file="url"%>
Na faqat faylni, balki, masalan, boshqa jsp-skriptni yoki hatto url-ni ham belgilash mumkin.
Misol:
<%@ include file="header.jsp"%>
<%
double num = Math.random();
if (num > 0.95) {
out.print(num);
}
%>
<%@ include file="footer.jsp"%>
Masalan, saytning barcha sahifalarining yuqori qismini header.jsp ga, pastki qismini footer.jsp ga olib chiqib, barcha sahifalarni konstruktor singari yig'ishingiz mumkin.
5.2 forward
Eslaysanmi, klassik servlelarda boshqa urlga redirect yoki forward ni amalga oshirish imkoniyati bor edi? JSPda ham bu mumkin va bu uchun maxsus faoliyat mavjud. Uning ko'rinishi oldin ko'rganingdan bir oz farq qiladi:
<jsp:forward page="url"/>
Shuningdek, parametrlar bilan yanada ilg'or variant mavjud:
<jsp:forward page="url" >
<jsp:param name="nomi" value="qiymati"/>
<jsp:param name="nomi" value="qiymati"/>
<jsp:param name="nomi" value="qiymati"/>
</jsp:forward>
Misol:
<html>
<head>
<title>Forward misoli</title>
</head>
<body>
<center>
<h2> Forward misoli </h2>
<jsp:forward page="login.jsp"/>
</center>
</body>
</html>
5.3 Redirect
Redirect uchun maxsus direktiva yo'q, lekin uni Java kodi orqali amalga oshirish mumkin.
Misol:
<body>
<%
String redirectURL = "https://javarush.com/";
response.sendRedirect(redirectURL);
%>
</body>
Bu misol 302 redirectni jo'natadi. Agar senga 301 redirect kerak bo'lsa, yana bir necha qator kod yozish kerak:
<body>
<%
response.setStatus(301);
response.setHeader("Location", "https://javarush.com/");
response.setHeader("Connection", "close");
%>
</body>
GO TO FULL VERSION