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 302một chuyển hướng. Nếu bạn cần 301chuyể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>