Tổng quan về các thành phần cú pháp của JSP
Đầu tiên, để làm cho mọi thứ rõ ràng hơn, đây là một tổng quan ngắn về các thành phần cú pháp của JSP :
- Chỉ thị : Chúng truyền đạt thông tin liên quan đến toàn bộ trang JSP.
- Các phần tử script : Đây là các phần tử mã hóa Java như khai báo, biểu thức, scriptlets và bình luận.
- Đối tượng và phạm vi : Các đối tượng JSP có thể được tạo một cách rõ ràng hoặc ngầm định và có thể truy cập được trong một phạm vi nhất định, chẳng hạn như từ bất kỳ nơi nào trong trang JSP hoặc phiên.
- Hành động : Những điều này tạo ra các đối tượng hoặc ảnh hưởng đến luồng đầu ra trong phản hồi JSP (hoặc cả hai).
Làm thế nào nội dung được bao gồm trong JSP
Có một số cơ chế để sử dụng lại nội dung trong tệp tin JSP.
4 cơ chế sau đây để bao gồm nội dung trong JSP có thể được phân loại thành tái sử dụng trực tiếp :
(đối với 3 cơ chế đầu tiên được trích dẫn từ "Head First Servlets và JSP" )
1) Chỉ thị bao gồm :
<%@ include file="header.html" %>
Tĩnh : thêm nội dung từ giá trị của thuộc tính tệp vào trang hiện tại tại thời điểm dịch . Lệnh ban đầu được dành cho các mẫu bố cục tĩnh, như các tiêu đề HTML.
2) <jsp:include>
Hành động chuẩn :
<jsp:include page="header.jsp" />
Động : thêm nội dung từ giá trị của thuộc tính trang vào trang hiện tại vào thời điểm yêu cầu . Được dự định nhiều hơn cho nội dung động đến từ các tệp tin.
3) <c:import>
Thẻ JSTL:
<c:import url=”http://www.example.com/foo/bar.html” />
Động : thêm nội dung từ giá trị của thuộc tính URL vào trang hiện tại, tại thời điểm yêu cầu . Nó hoạt động rất giống
<jsp:include>
, nhưng nó mạnh mẽ và linh hoạt hơn: không giống như hai phần còn lại bao gồm, <c:import>
url có thể từ bên ngoài Web Container !
4) Preludes và codas:
Tĩnh : preludes và codas chỉ có thể được áp dụng cho phần đầu và phần cuối của trang .
Bạn ngầm có thể bao gồm prelude (còn gọi là tiêu đề) và codas
(còn gọi là footers) cho một nhóm các trang JSP bằng cách thêm
<include-prelude>
và <include-coda>
các yếu tố tương ứng trong một <jsp-property-group>
phần tử trong ứng dụng Web web.xml mô tả triển khai. Đọc thêm tại đây:
• Định cấu hình Bao gồm ẩn ở đầu và cuối của các tệp
• Xác định ẩn bao gồm
Tag File là một phương pháp gián tiếp để tái sử dụng nội dung, cách đóng gói nội dung có thể sử dụng lại . Một Tag file là một file nguồn có chứa một đoạn mã JSP đó là tái sử dụng như một thẻ tùy chỉnh .
MỤC ĐÍCH bao gồm và các tệp thẻ là khác nhau.
Tệp thẻ (một khái niệm được giới thiệu với JSP 2.0) là một trong các tùy chọn để tạo thẻ tùy chỉnh . Đó là cách nhanh hơn và dễ dàng hơn để xây dựng các thẻ tùy chỉnh .
Các thẻ tùy chỉnh , còn được gọi là các phần mở rộng thẻ, là các phần tử JSP cho phép logic và đầu ra tùy chỉnh được cung cấp bởi các thành phần Java khác được chèn vào các trang JSP. Logic được cung cấp thông qua thẻ tùy chỉnh được triển khai bởi một đối tượng Java được gọi là trình xử lý thẻ .
Một số ví dụ về các tác vụ có thể được thực hiện bằng thẻ tùy chỉnh bao gồm vận hành trên các đối tượng ẩn, xử lý biểu mẫu, truy cập cơ sở dữ liệu và các dịch vụ doanh nghiệp khác như email và thư mục và thực hiện kiểm soát luồng.
Về chỉnh sửa của bạn
Có thể trong ví dụ của bạn (trong Chỉnh sửa của bạn ), không có sự khác biệt giữa việc sử dụng trực tiếp bao gồm và Tệp thẻ. Nhưng thẻ tùy chỉnh có một bộ tính năng phong phú . Họ có thể
Được tùy chỉnh bằng các thuộc tính được truyền từ trang gọi.
Truyền biến trở lại trang gọi.
Truy cập tất cả các đối tượng có sẵn cho các trang JSP.
Giao tiếp với mọi người. Bạn có thể tạo và khởi tạo một thành phần JavaBeans, tạo một biến EL công khai tham chiếu đến bean đó trong một thẻ và sau đó sử dụng bean trong một thẻ khác.
Được lồng vào nhau và giao tiếp bằng các biến riêng tư.
Đồng thời đọc phần này từ "Pro JSP 2": Tìm hiểu các thẻ tùy chỉnh của JSP .
Đọc hữu ích.
Phần kết luận
Sử dụng các công cụ phù hợp cho từng nhiệm vụ.
Sử dụng Tệp thẻ như một cách nhanh chóng và dễ dàng để tạo các thẻ tùy chỉnh có thể giúp bạn đóng gói nội dung có thể sử dụng lại .
Đối với nội dung bao gồm trong JSP (trích dẫn từ đây ):
- Sử dụng lệnh bao gồm nếu tệp hiếm khi thay đổi . Đó là cơ chế nhanh nhất. Nếu vùng chứa của bạn không tự động phát hiện các thay đổi, bạn có thể buộc các thay đổi có hiệu lực bằng cách xóa tệp lớp trang chính.
- Chỉ sử dụng hành động bao gồm cho nội dung thay đổi thường xuyên và nếu trang nào bao gồm không thể được quyết định cho đến khi trang chính được yêu cầu.