JSP - Hướng dẫn Thư viện Thẻ Chuẩn (JSTL)
Trong chương này, chúng ta sẽ hiểu các thẻ khác nhau trong JSP. Thư viện thẻ chuẩn của các trang JavaServer (JSTL) là một tập hợp các thẻ JSP hữu ích đóng gói chức năng cốt lõi phổ biến cho nhiều ứng dụng JSP.
JSTL có hỗ trợ cho các tác vụ cấu trúc, phổ biến như lặp lại và điều kiện, thẻ để thao tác tài liệu XML, thẻ quốc tế hóa và thẻ SQL. Nó cũng cung cấp một khuôn khổ để tích hợp các thẻ tùy chỉnh hiện có với các thẻ JSTL.
Cài đặt Thư viện JSTL
Để bắt đầu làm việc với thẻ JSP, trước tiên bạn cần cài đặt thư viện JSTL. Nếu bạn đang sử dụng vùng chứa Apache Tomcat, hãy làm theo hai bước sau:
Step 1- Tải xuống bản phân phối nhị phân từ Apache Standard Taglib và giải nén tệp nén.
Step 2 - Để sử dụng Taglib Chuẩn từ Jakarta Taglibs distribution, chỉ cần sao chép các tệp JAR trong thư mục 'lib' của bản phân phối vào ứng dụng của bạn webapps\ROOT\WEB-INF\lib danh mục.
Để sử dụng bất kỳ thư viện nào, bạn phải bao gồm chỉ thị <taglib> ở đầu mỗi JSP sử dụng thư viện.
Phân loại các thẻ JSTL
Các thẻ JSTL có thể được phân loại, theo chức năng của chúng, thành các nhóm thư viện thẻ JSTL sau đây có thể được sử dụng khi tạo một trang JSP:
Core Tags
Formatting tags
SQL tags
XML tags
JSTL Functions
Thẻ cốt lõi
Nhóm thẻ cốt lõi là các thẻ JSTL được sử dụng phổ biến nhất. Sau đây là cú pháp để đưa thư viện JSTL Core vào JSP của bạn:
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
Bảng sau liệt kê các Thẻ JSTL cốt lõi:
Không. | Thẻ & Mô tả |
---|---|
1 | Giống như <% = ...>, nhưng đối với biểu thức. |
2 | Đặt kết quả của một đánh giá biểu thức trong một 'scope' |
3 | Loại bỏ một scoped variable (từ một phạm vi cụ thể, nếu được chỉ định). |
4 | Bắt bất kỳ Throwable xảy ra trong cơ thể của nó và tùy ý để lộ ra ngoài. |
5 | Thẻ điều kiện đơn giản đánh giá nội dung của nó nếu điều kiện được cung cấp là đúng. |
6 | Thẻ điều kiện đơn giản thiết lập ngữ cảnh cho các hoạt động có điều kiện loại trừ lẫn nhau, được đánh dấu bằng <when> và <otherwise>. |
7 | Thẻ phụ của <choose> bao gồm cơ thể của nó nếu tình trạng của nó đánh giá 'true'. |
số 8 | Thẻ phụ của <choose> theo sau <when> và chỉ chạy nếu tất cả các điều kiện trước đó được đánh giá là 'false'. |
9 | Truy xuất một URL tuyệt đối hoặc tương đối và hiển thị nội dung của nó cho cả trang, một Chuỗi trong 'var'hoặc một Người đọc trong 'varReader'. |
10 | Thẻ lặp lại cơ bản, chấp nhận nhiều loại tập hợp khác nhau và hỗ trợ đặt con và chức năng khác. |
11 | Lặp đi lặp lại các mã thông báo, được phân tách bằng các bộ mê cung cấp. |
12 | Thêm một tham số vào một chứa 'import' URL của thẻ. |
13 | Chuyển hướng đến một URL mới. |
14 | Tạo một URL với các tham số truy vấn tùy chọn |
Định dạng thẻ
Các thẻ định dạng JSTL được sử dụng để định dạng và hiển thị văn bản, ngày, giờ và số cho các Trang web được quốc tế hóa. Sau đây là cú pháp để bao gồm thư viện Định dạng trong JSP của bạn:
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
Bảng sau liệt kê các Định dạng Thẻ JSTL -
Không. | Thẻ & Mô tả |
---|---|
1 | Để hiển thị giá trị số với độ chính xác hoặc định dạng cụ thể. |
2 | Phân tích cú pháp biểu diễn chuỗi của một số, đơn vị tiền tệ hoặc tỷ lệ phần trăm. |
3 | Định dạng ngày và / hoặc giờ bằng các kiểu và mẫu được cung cấp. |
4 | Phân tích cú pháp biểu diễn chuỗi của ngày và / hoặc giờ |
5 | Tải gói tài nguyên sẽ được nội dung thẻ của nó sử dụng. |
6 | Lưu trữ ngôn ngữ đã cho trong biến cấu hình ngôn ngữ. |
7 | Tải gói tài nguyên và lưu trữ trong biến phạm vi được đặt tên hoặc biến cấu hình gói. |
số 8 | Chỉ định múi giờ cho mọi hành động định dạng hoặc phân tích cú pháp thời gian được lồng trong nội dung của nó. |
9 | Lưu trữ múi giờ đã cho trong biến cấu hình múi giờ |
10 | Hiển thị một tin nhắn được quốc tế hóa. |
11 | Đặt mã hóa ký tự yêu cầu |
Thẻ SQL
Thư viện thẻ JSTL SQL cung cấp các thẻ để tương tác với cơ sở dữ liệu quan hệ (RDBMS) như Oracle, mySQL, hoặc là Microsoft SQL Server.
Sau đây là cú pháp để bao gồm thư viện JSTL SQL trong JSP của bạn:
<%@ taglib prefix = "sql" uri = "http://java.sun.com/jsp/jstl/sql" %>
Bảng sau liệt kê các Thẻ JSTL của SQL:
Không. | Thẻ & Mô tả |
---|---|
1 | Tạo một Nguồn dữ liệu đơn giản chỉ phù hợp để tạo mẫu |
2 | Thực thi truy vấn SQL được xác định trong phần thân của nó hoặc thông qua thuộc tính sql. |
3 | Thực thi cập nhật SQL được xác định trong phần thân của nó hoặc thông qua thuộc tính sql. |
4 | Đặt một tham số trong câu lệnh SQL thành giá trị được chỉ định. |
5 | Đặt một tham số trong câu lệnh SQL thành giá trị java.util.Date được chỉ định. |
6 | Cung cấp các phần tử hành động cơ sở dữ liệu lồng nhau với một Kết nối được chia sẻ, được thiết lập để thực thi tất cả các câu lệnh như một giao dịch. |
Thẻ XML
Các thẻ XML JSTL cung cấp một cách tập trung vào JSP để tạo và thao tác các tài liệu XML. Sau đây là cú pháp để đưa thư viện JSTL XML vào JSP của bạn.
Thư viện thẻ XML JSTL có các thẻ tùy chỉnh để tương tác với dữ liệu XML. Điều này bao gồm phân tích cú pháp XML, chuyển đổi dữ liệu XML và điều khiển luồng dựa trên các biểu thức XPath.
<%@ taglib prefix = "x"
uri = "http://java.sun.com/jsp/jstl/xml" %>
Trước khi tiếp tục với các ví dụ, bạn sẽ cần sao chép hai thư viện liên quan đến XML và XPath sau vào <Tomcat Installation Directory>\lib -
XercesImpl.jar - Tải xuống từ https://www.apache.org/dist/xerces/j/
xalan.jar - Tải xuống từ https://xml.apache.org/xalan-j/index.html
Sau đây là danh sách các Thẻ JSTL của XML:
Không. | Thẻ & Mô tả |
---|---|
1 | Giống như <% = ...>, nhưng đối với biểu thức XPath. |
2 | Được sử dụng để phân tích cú pháp dữ liệu XML được chỉ định thông qua một thuộc tính hoặc trong phần thân thẻ. |
3 | Đặt một biến thành giá trị của biểu thức XPath. |
4 | Đánh giá một biểu thức XPath thử nghiệm và nếu nó đúng, nó sẽ xử lý phần thân của nó. Nếu điều kiện thử nghiệm là sai, cơ thể sẽ bị bỏ qua. |
5 | Để lặp qua các nút trong tài liệu XML. |
6 | Thẻ điều kiện đơn giản thiết lập ngữ cảnh cho các hoạt động có điều kiện loại trừ lẫn nhau, được đánh dấu bằng <when> và <otherwise> các thẻ. |
7 | Thẻ phụ của <choose> bao gồm nội dung của nó nếu biểu thức của nó đánh giá là 'true'. |
số 8 | Thẻ phụ của <choose> theo sau <when> và chỉ chạy nếu tất cả các điều kiện trước đó được đánh giá là 'false'. |
9 | Áp dụng biến đổi XSL trên tài liệu XML |
10 | Được sử dụng cùng với transform để đặt một tham số trong biểu định kiểu XSLT |
Hàm JSTL
JSTL bao gồm một số hàm tiêu chuẩn, hầu hết trong số đó là các hàm thao tác chuỗi phổ biến. Sau đây là cú pháp để bao gồm thư viện Hàm JSTL trong JSP của bạn:
<%@ taglib prefix = "fn"
uri = "http://java.sun.com/jsp/jstl/functions" %>
Bảng sau liệt kê các Hàm JSTL khác nhau:
Không. | Mô tả chức năng |
---|---|
1 | fn: chứa () Kiểm tra xem một chuỗi đầu vào có chứa chuỗi con được chỉ định hay không. |
2 | fn: containsIgnoreCase () Kiểm tra xem một chuỗi đầu vào có chứa chuỗi con được chỉ định không theo cách phân biệt chữ hoa chữ thường. |
3 | fn: endWith () Kiểm tra xem một chuỗi đầu vào có kết thúc bằng hậu tố được chỉ định hay không. |
4 | fn: EscapeXml () Thoát các ký tự có thể được hiểu là đánh dấu XML. |
5 | fn: indexOf () Trả về chỉ mục chứa một chuỗi lần xuất hiện đầu tiên của một chuỗi con được chỉ định. |
6 | fn: tham gia () Nối tất cả các phần tử của một mảng thành một chuỗi. |
7 | fn: chiều dài () Trả về số mục trong một tập hợp hoặc số ký tự trong một chuỗi. |
số 8 | fn: thay thế () Trả về một chuỗi do thay thế trong một chuỗi đầu vào tất cả các lần xuất hiện bằng một chuỗi đã cho. |
9 | fn: split () Tách một chuỗi thành một mảng các chuỗi con. |
10 | fn: startedWith () Kiểm tra xem một chuỗi đầu vào có bắt đầu bằng tiền tố được chỉ định hay không. |
11 | fn: chuỗi con () Trả về một tập hợp con của một chuỗi. |
12 | fn: substringAfter () Trả về một tập hợp con của một chuỗi theo sau một chuỗi con cụ thể. |
13 | fn: substringBefore () Trả về một tập hợp con của một chuỗi trước một chuỗi con cụ thể. |
14 | fn: toLowerCase () Chuyển đổi tất cả các ký tự của một chuỗi thành chữ thường. |
15 | fn: toUpperCase () Chuyển đổi tất cả các ký tự của một chuỗi thành chữ hoa. |
16 | fn: trim () Loại bỏ khoảng trắng từ cả hai đầu của một chuỗi. |