JSP directive cung cấp các chỉ dẫn và chỉ lệnh tới container, nói cho nó cách để xử lý các mặt cụ thể của tiến trình xử lý JSP.
Một Directive trong JSP ảnh hưởng tới cấu trúc tổng thể của lớp Servlet. Nó thường có form sau:
<%@ directive attribute="value" %>
Directive có thể có các thuộc tính mà bạn có thể liệt kê dưới dạng các cặp key-value và được phân biệt bởi dấu phảy.
Các khoảng trống giữa ký hiệu @ và tên directive, và giữa thuộc tính cuối cùng và ký hiệu đóng %>, là tùy ý.
Có 3 loại thẻ directive trong JSP:
Directive | Miêu tả |
---|---|
<%@ page ... %> | Định nghĩa một thuộc tính page-dependent (phụ thuộc trang), như ngôn ngữ scripting, trang lỗi và các yêu cầu bộ đệm |
<%@ include ... %> | Include một file trong suốt giai đoạn phiên dịch |
<%@ taglib ... %> | Khai báo một thư viện thẻ, chứa các action tùy biến, được sử dụng trong trang đó |
page Directive trong JSP
page Directive trong JSP được sử dụng để cung cấp các chỉ lệnh tới container mà liên quan tới JSP page hiện tại. Bạn có thể mã hóa page directive bất cứ đâu trong JSP page của bạn. Theo qui ước, page directive được mã hóa tại trên cùng của JSP page.
Sau đây là cú pháp cơ bản của page Directive trong JSP:
<%@ page attribute="value" %>
Bạn có thể viết XML tương đương với cú pháp trên như sau:
<jsp:directive.page attribute="value" />
Các thuộc tính của page directive trong JSP
Bảng dưới liệt kê các thuộc tính liên kết với page Directive trong JSP:
Thuộc tính | Mục đích |
---|---|
buffer | Xác định một mô hình đệm cho Output Stream |
autoFlush | Điều khiển hành vi của Output buffer của Servlet |
contentType | Định nghĩa giản đồ mã hóa ký tự |
errorPage | Định nghĩa URL của JSP khác mà báo cáo trên Java các unchecked runtime exception |
isErrorPage | Chỉ rằng nếu JSP page này là một URL được xác định bởi thuộc tính ErrorPage của JSP page khác |
extends | Xác định một lớp cha mà Servlet đã tạo phải kế thừa |
import | Xác định một danh sách các package hoặc class để sử dụng trong JSP khi lệnh import trong Java làm việc cho các lớp Java |
info | Định nghĩa một chuỗi mà có thể được truy cập với phương thức getServletInfo() của Servlet |
isThreadSafe | Định nghĩa mô hình thread cho Servlet đã tạo |
language | Định nghĩa ngôn ngữ lập trình được sử dụng trong JSP page |
session | Xác định có hay không JSP page tham dự trong các HTTP session |
isELIgnored | Xác định có hay không EL expression bên trong JSP page sẽ bị bỏ qua |
isScriptingEnabled | Quyết định nếu các phần tử scripting được cho phép sử dụng |
Include Directive trong JSP
include Directive trong JSP được sử dụng để bao một file trong suốt giai đoạn phiên dịch. Directive này nói cho container sáp nhập content của file ngoại vi khác với JSP hiện tại trong quá trình phiên dịch. Bạn có thể mã hóa include directive bất cứ đâu trong JSP page.
Dưới đây là form chung cho include directive trong JSP:
<%@ include file="relative url" >
Tên file trong include directive là một URL quan hệ thực sự. Nếu bạn chỉ xác định một tên file mà không có đường liên kết, thì JSP compiler giả sử rằng file đó là trong cùng thư mục như JSP của bạn.
Bạn có thể viết XML tương đương với cú pháp trên:
<jsp:directive.include file="relative url" />
Taglib Directive trong JSP
Java Server Pages API cho phép bạn định nghĩa các Custom Tags trong JSP, mà giống như các thẻ HTML hoặc XML và một thư việc thẻ (tag library) là một tập hợp các thẻ được định nghĩa bởi người sử dụng mà triển khai các hành vi tùy biến.
taglib directive khai báo rằng: JSP page của bạn sử dụng một tập hợp các Custom Tags, thông báo vị trí của thư viện, và cung cấp một phương thức để nhận diện các Custom Tags đó trong JSP page của bạn.
Cú pháp của taglib directive trong JSP như sau:
<%@ taglib uri="uri" prefix="prefixOfTag" >
Ở đây, giá trị thuộc tính uri biểu diễn một vị trí mà container có thể hiểu và thuộc tính prefix thông báo một container về các bit đánh dấu nào là các action tùy biến.
Bạn có thể viết XML tương đương với cú pháp trên như sau:
<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />