5.1 bao gồm
Có một vài chỉ thị ma thuật nữa mà tôi muốn nói đến. Chỉ thị đầu tiên như vậy là chỉ thị bao gồm . Nó cho phép bạn chèn một tệp khác vào vị trí của trang mà nó được chỉ định. Định dạng chung của một chỉ thị như vậy là:
<%@ include file="url"%>
Bạn có thể chỉ định không chỉ một tệp, mà, ví dụ, một jsp-servlet khác hoặc thậm chí một url.
Ví dụ:
<%@ include file="header.jsp"%>
<%
double num = Math.random();
if (num > 0.95) {
out.print(num);
}
%>
<%@ include file="footer.jsp"%>
Ví dụ: bạn có thể đặt phần trên cùng của tất cả các trang của trang web vào header.jsp và phần dưới cùng vào footer.jsp và thu thập tất cả các trang dưới dạng hàm tạo.
5.2 về phía trước
Hãy nhớ rằng các servlet cổ điển có khả năng chuyển hướng hoặc chuyển tiếp tới một url khác? Trong JSP, điều này cũng có thể xảy ra và có một hành động đặc biệt cho việc này. Sự xuất hiện của nó hơi khác so với những gì bạn đã thấy trước đây:
<jsp:forward page="url"/>
Ngoài ra còn có một tùy chọn nâng cao hơn - với các tham số:
<jsp:forward page="url" >
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
<jsp:param name="Name" value="meaning"/>
</jsp:forward>
Ví dụ:
<html>
<head>
<title>The Forward Example</title>
</head>
<body>
<center>
<h2> Forward example </h2>
<jsp:forward page="login.jsp"/>
</center>
</body>
</html>
5.3 Chuyển hướng
Không có chỉ thị đặc biệt nào cho việc chuyển hướng nhưng có thể thực hiện bằng cách gọi mã Java.
Ví dụ:
<body>
<%
String redirectURL = "https://codegym.cc/";
response.sendRedirect(redirectURL);
%>
</body>
Ví dụ này sẽ gửi 302
một chuyển hướng. Nếu bạn cần 301
chuyển hướng, thì bạn cần viết thêm một vài dòng mã:
<body>
<%
response.setStatus(301);
response.setHeader("Location", "https://codegym.cc/");
response.setHeader("Connection", "close");
%>
</body>
GO TO FULL VERSION