Mục lục:
A. Lý thuyết
JSTL Là gì
- JSTL viết tắt của jsp standard tag library là bộ thư viện thẻ tiêu chuẩn của JSP
- Đại diện cho một tập hợp các thẻ để đơn giản hóa sự phát triển của JSP
- Thẻ JSTL có thể được phân loại, theo chức năng của chúng:
Tag Name | Description |
---|---|
Core tags | Thẻ lõi JSTL cung cấp hỗ trợ biến, quản lý URL, điều khiển lưu lượng, v.v. URL cho thẻ lõi là http://java.sun.com/jsp/jstl/core. Tiền tố của thẻ lõi là c. |
Function tags | Các thẻ chức năng cung cấp hỗ trợ để thao tác chuỗi và độ dài chuỗi. URL cho các thẻ chức năng là http://java.sun.com/jsp/jstl/functions và tiền tố là fn. |
Formatting tags | Các thẻ định dạng cung cấp hỗ trợ cho định dạng tin nhắn, định dạng số và ngày, v.v. URL cho các thẻ định dạng là http://java.sun.com/jsp/jstl/fmt và tiền tố là fmt. |
XML tags | Các thẻ XML cung cấp điều khiển dòng chảy, chuyển đổi, vv URL cho các thẻ XML là http://java.sun.com/jsp/jstl/xml và tiền tố là. x. |
SQL tags | Các thẻ SQL JSTL cung cấp hỗ trợ SQL. URL cho các thẻ SQL là http://java.sun.com/jsp/jstl/sql và tiền tố là. sql. |
Cách cài đặt thư viện JSTL
- Một trong số những mã sau đều hoạt động, có thể có những mã khác cũng hoạt động.
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>jakarta.servlet.jsp.jstl</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>apache-jstl</artifactId>
<version>11.0.0.beta2</version>
</dependency>
Cách sử dụng thẻ JSTL:
Danh sách thẻ JSTL Core:
Tags | Description |
---|---|
c:out | Nó hiển thị kết quả của một biểu thức, tương tự như cách <%=...%> Tag hoạt động. |
c:import | Nó đã truy cập lại tương đối hoặc một URL tuyệt đối và hiển thị nội dung cho chuỗi 'var', một trình đọc trong 'varreader' hoặc trang. |
c:set | Nó đ ặt kết quả của một biểu thức đang được đánh giá trong một Biến 'scope' . |
c:remove | Nó được sử dụng để loại bỏ biến phạm vi được chỉ định khỏi một phạm vi cụ thể. |
c:catch | Nó được sử dụng để bắt bất kỳ ngoại lệ nào có thể xảy ra nào xảy ra trong cơ thể. |
c:if | Nó là thẻ có điều kiện được sử dụng để thử nghiệm điều kiện và chỉ hiển thị nội dung cơ thể nếu biểu thức đánh giá là true. |
c:choose, c:when, c:otherwise | Nó là thẻ có điều kiện đơn giản bao gồm nội dung cơ thể của nó nếu điều kiện được đánh giá là true. |
c:forEach | Nó là thẻ lặp cơ bản. Nó lặp lại hàm lượng cơ thể lồng nhau cho số lần cố định hoặc bộ sưu tập hơn. |
c:forTokens | Nó lặp qua các token được phân tách bằng các dấu hiệu được cung cấp. |
c:param | Nó thêm một tham số chứa trong một 'import' URL. |
c:redirect | Nó chuyển hướng trình duyệt sang một URL mới và hỗ trợ các URL tương đối ngữ cảnh. |
c:url | Nó tạo một URL với các tham số truy vấn tùy chọn. |
Danh sách thẻ JSTL Function:
JSTL Functions | Description |
---|---|
fn:contains() | Nó được sử dụng để kiểm tra nếu một chuỗi đầu vào chứa chuỗi con được chỉ định trong một chương trình. |
fn:containsIgnoreCase() | Nó được sử dụng để kiểm tra nếu một chuỗi đầu vào chứa chuỗi con được chỉ định như một cách không phân biệt trường hợp. |
fn:endsWith() | Nó được sử dụng để kiểm tra nếu một chuỗi đầu vào kết thúc bằng hậu tố được chỉ định. |
fn:escapeXml() | Nó thoát khỏi các ký tự sẽ được hiểu là đánh dấu XML. |
fn:indexOf() | Nó trả về một chỉ mục trong một chuỗi xuất hiện đầu tiên của một chuỗi con được chỉ định. |
fn:trim() | Nó loại bỏ các khoảng trắng khỏi cả hai đầu của một chuỗi. |
fn:startsWith() | Nó được sử dụng để kiểm tra xem chuỗi đã cho có được bắt đầu với một giá trị chuỗi cụ thể hay không. |
fn:split() | Nó chia chuỗi thành một loạt các chuỗi con. |
fn:toLowerCase() | Nó chuyển đổi tất cả các ký tự của một chuỗi thành chữ thường. |
fn:toUpperCase() | Nó chuyển đổi tất cả các ký tự của một chuỗi thành chữ hoa. |
fn:substring() | Nó trả về tập hợp con của một chuỗi theo vị trí bắt đầu và kết thúc đã cho. |
fn:substringAfter() | Nó trả về tập hợp con của chuỗi sau một chuỗi con cụ thể. |
fn:substringBefore() | Nó trả về tập hợp con của chuỗi trước một chuỗi con cụ thể. |
fn:length() | Nó trả về số lượng ký tự bên trong một chuỗi hoặc số lượng mục trong một bộ sưu tập. |
fn:replace() | Nó thay thế tất cả sự xuất hiện của một chuỗi với một chuỗi chuỗi khác. |
Danh sách thẻ JSTL Formatting
Formatting Tags | Descriptions |
---|---|
fmt:parseNumber | Nó được sử dụng để phân tích chuỗi đại diện của một loại tiền tệ, phần trăm hoặc số. |
fmt:timeZone | Nó chỉ định một hành động phân tích cú pháp lồng nhau trong body của nó hoặc múi giờ cho bất kỳ định dạng thời gian nào. |
fmt:formatNumber | Nó được sử dụng để định dạng giá trị số với định dạng hoặc độ chính xác cụ thể. |
fmt:parseDate | Nó phân tích chuỗi đại diện của một thời gian và ngày. |
fmt:bundle | Nó được sử dụng để tạo các đối tượng ResourceBundle sẽ được sử dụng bởi thẻ body của chúng. |
fmt:setTimeZone | Nó lưu trữ múi giờ bên trong biến cấu hình múi giờ. |
fmt:setBundle | Nó tải gói tài nguyên và lưu trữ nó trong biến cấu hình bó hoặc biến có tên có tên. |
fmt:message | Nó hiển thị một tin nhắn quốc tế hóa. |
fmt:formatDate | Nó định dạng thời gian và / hoặc ngày sử dụng mẫu và kiểu được cung cấp. |
Danh sách thẻ JSTL XML
XML Tags | Descriptions |
---|---|
x:out | Tương tự như thẻ <%= ... >, nhưng đối với các biểu thức XPath. |
x:parse | Nó được sử dụng để phân tích dữ liệu XML được chỉ định trong phần thân thẻ hoặc thuộc tính. |
x:set | Nó được sử dụng để đặt một biến thành giá trị của biểu thức XPath. |
x:choose | Nó là một thẻ có điều kiện thiết lập bối cảnh cho các hoạt động có điều kiện loại trừ lẫn nhau. |
x:when | Nó là một tinh tế của nó sẽ bao gồm cơ thể của nó nếu điều kiện được đánh giá là 'true'. |
x:otherwise | Nó là SUBTAG theo đó các thẻ và chỉ chạy nếu tất cả các điều kiện trước được đánh giá là 'false'. |
x:if | Nó được sử dụng để đánh giá biểu thức XPath thử nghiệm và nếu true , nó sẽ xử lý nội dung cơ thể của nó. |
x:transform | Nó được sử dụng trong một tài liệu XML để cung cấp chuyển đổi XSL (ngôn ngữ biểu định kiểu mở rộng). |
x:param | Nó được sử dụng cùng với thẻ biến đổi để cài đặt tham số trong bảng kiểu XSLT. |
Danh sách thẻ JSTL SQL
SQL Tags | Descriptions |
---|---|
sql:setDataSource | Nó được sử dụng để tạo một nguồn dữ liệu đơn giản chỉ phù hợp để tạo mẫu. |
sql:query | Nó được sử dụng để thực hiện truy vấn SQL được xác định trong thuộc tính SQL hoặc body của nó. |
sql:update | Nó được sử dụng để thực hiện bản cập nhật SQL được xác định trong thuộc tính SQL của nó hoặc trong thẻ body. |
sql:param | Nó được sử dụng để đặt tham số trong câu lệnh SQL thành giá trị được chỉ định. |
sql:dateParam | Nó được sử dụng để đặt tham số trong câu lệnh SQL thành giá trị java.util.date được chỉ định. |
sql:transaction | Nó được sử dụng để cung cấp hành động cơ sở dữ liệu lồng nhau với một kết nối phổ biến. |
B. Ví dụ mẫu về các thẻ JSTL
Các thẻ Format
Khai báo:
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>
Ví dụ 1: Thẻ fmt:parseNumber
Cú pháp được sử dụng để bao gồm thẻ <fmt: parseNumber>là:
<fmt:parseNumber thuộc tính > nội dung </fmt:parseNumber>
Nó được sử dụng để phân tích chuỗi đại diện của một loại tiền tệ, phần trăm hoặc số.
- Ví dụ đơn giản để hiểu định dạng thẻ <fmt: parseNumber>:
- Sau khi khởi chạy thì ta được kết quả:
Ví dụ 2: Thẻ fmt:paseDate
Cú pháp được sử dụng để bao gồm thẻ <fmt: parseDate> là:
< fmt: parseDate thuộc tính />
Nó phân tích chuỗi đại diện của một thời gian và ngày.
-Ví dụ đơn giản để hiểu định dạng thẻ <fmt: parseDate>:
- Sau khi khởi chạy thì ta được kết quả:
Các thẻ Core
Khai báo:
- <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
Thẻ <c: if> được sử dụng để
kiểm tra điều kiện và nó hiển thị nội dung phần thân, nếu biểu thức được đánh
giá là đúng.
Đây là một thẻ điều kiện đơn giản
được sử dụng để đánh giá nội dung nội dung, nếu điều kiện được cung cấp là
đúng.
Hãy xem ví dụ đơn giản về thẻ <c:
if>:
Trong file isp viết đoạn code:
Và đây là kết quả đoạn if này cho biết nếu giá trị của biến income lớn hơn 800 thì sẽ hiền thị như sau
Thẻ JSTL Core <c:choose> là thẻ có điều kiệ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. Nó hoạt động giống như một câu
lệnh chuyển đổi Java trong đó chúng ta chọn giữa
một số lựa chọn thay thế.
Thẻ
<c:when> là thẻ phụ của <choose> sẽ bao gồm phần nội dung của nó nếu điều
kiện được đánh giá là 'true'.
Thẻ <c:otherwise> cũng là thẻ phụ
của <choose> nó theo sau thẻ & l; twhen> và chỉ chạy nếu tất cả
điều kiện trước đó được đánh giá là 'false'.
Câu lệnh c: when và c: else hoạt động
giống như câu lệnh if-else. Nhưng nó phải được đặt bên trong thẻ c:
select.
Hãy
xem ví dụ đơn giản về thẻ <c: choose>, <c: when> <c:otherwise>Một ví dụ nữa về ví dụ chẵn lẻ và cách sử dụng <c:when> và <c:otherwise>
Ví dụ 5: Thẻ <c: for each> là thẻ lặp được sử dụng để lặp lại nội dung phần thân lồng nhau mà người dùng đã chọn để hiển thị kết quả
Các thẻ Functions
Khai báo:
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
Ví
dụ 1: sử dụng fn:toUpperCase() để in hoa chữ:
Code:
Kết quả:
Ví
dụ 2: sử dụng fn:length(): trả về số lượng ký
tự bên trong một chuỗi hoặc số lượng các mục trong một bộ sưu tập.
Kết quả:
Tìm hiểu về JSTL Trong Java Servlet. Và làm các ví dụ về nó.
Trả lờiXóa