Sự Khác Nhau Giữa Jsp Và Jstl Là Gì ? Nếu Khác Người Khác Trong Jsp Hoặc Jstl

Trong bài viết này, tôi sẽ hướng dẫn các bạn sử dụng JSP Standard Tag Library trong Java hay còn gọi tắt là JSLT trong Java JSP. Nhắc đến lập trình web với jsp/servlet chúng ta sẽ sử dụng một số kiểu thẻ Scriptlet để viết code Java vào trong trang jsp.Tuy nhiên Java không khuyến khích chúng ta sử dụng nhiều code java vào trang jsp đó.Lý do tại sao? Các bạn có thể đọc qua bài viết này của tôi. Vậy nên JSTL sinh ra giúp chúng ta khắc phục những hạn chế trên, cũng như việc lập trình sẽ nhanh hơn, tối ưu hơn.

Đang xem: Jstl là gì

*

1. JSTL là gì?

JSTL là viết tắt của cụm từ JSP Standard Tag Library (JSTL) là một thư viện thẻ chuẩn cung cấp các thẻ để kiểm soát hành vi trang, lặp đi lặp lại và các lệnh điều khiển, các thẻ quốc tế hóa, và các thẻ SQL, JSTL được viết ngay tại trang JSP.
Từ sự phát triển của Taglibs và những nhược điểm khi xử lý code business logic cũng như những người mới học Java trở nên khó hiểu hơn thì JavaServerPages Standard Tag Library (JSTL) được sinh ra cùng với đó JSTL kết hợp với biểu thức Expression language (EL), JSTL đã loại bỏ scriptlet khi viết code trong trang JSP.

Xem thêm: WordPress Plugin Là Gì ? Hướng Dẫn Sử Dụng Và Cài Đặt Plugin

2. Điều kiện cần để sử dụng Standard Tag Library (JSTL)

*

Để sử dụng JSTL trong các trang JSP của bạn, bạn cần phải tải về các thư viện JSTL cho bộ chứa Servlet (container servlet) của bạn.Thông thường những thư viện chúng ta đặt trong thư mục WEB-INF/lib của project. Và nếu project của bạn là Maven thì bạn cần phải khai báo các thư viện này trong pom.xml.

Link download JSTL. Click vào để download.

Xem thêm: Phần Mềm Canon Mf Toolbox 4.9, Download And Install Toolbox V

*

Nếu là Project Maven các bạn sử dụng đoạn code này đặt trong file pom.xml như sau:

Với maven thì eclipse tự động download thư viện JSTL về cho các bạn khi đặt đoạn code trên trong file pom.xml, kiểm tra thư viện trong thư mục WEB-INF/lib:

*

3. Các thư viện thẻ chuẩn của Standard Tag Library (JSTL)

*

Chức năng Mô tả – Khai báo
Các thẻ cơ bản(Core Tags) Chứa các lệnh điều khiển như như if, choose when otherwise,vòng lặp như forEach…. Để sử dụng JSTL core tags, bạn cần khai báo vào trong trang JSP đang sử dụng như sau:
Các thẻ định dạng và địa phương hóa (quốc tế hóa).

(Formatting and Localization Tags)

Thông thường loại thẻ này dùng để định dạng và quốc tế hóa, thường sử dụng như để định dạng số, ngày tháng năm…muốn sử dụng bạn cần khai báo vào trong trang JSP đang sử dụng như sau:
Các thẻ SQL(SQL Tags) Các thẻ JSTL SQL cung cấp các hỗ trợ cho việc tương tác với cơ sở dữ liệu quan hệ như MySql, SQL server, Oracle … Thông thường chúng ta sử dụng loại thẻ này để truy xuất CSDL, muốn sử dụng bạn cần khai báo vào trong trang JSP đang sử dụng như sau:
Các thẻ XML(XML Tags) Chức năng chính của loại thẻ này là phân tích và đọc dữ liệu từ file XML.Muốn sử dụng bạn cần khai báo vào trong trang JSP đang sử dụng như sau:
Các thẻ hàm JSTL(JSTL Functions Tags) Thẻ JSTL cung cấp một số chức năng mà chúng ta có thể sử dụng để thực hiện các toán tử thông dùng, thông thường là String như nối chuỗi… Muốn sử dụng bạn cần khai báo vào trong trang JSP đang sử dụng như sau:

4. Ý nghĩa các thẻ Standard Tag Library (JSTL)

Core Tags – Các thẻ tandard Tag Library (JSTL) cơ bản

Tên thẻ Ý nghĩa
Catch những exception xảy ra trong code body
Chọn 1 trong nhiều đoạn mã để thi hành khi thỏa mãn điều kiện nào đó
Vòng lặp quét hết tập hợp nào đó
Vòng lặp quét hết 1 chuỗi nào đó theo chuỗi phân cách
Thi hành đoạn code khi thỏa mãn điều kiện
Import một URL nào đó
Xác định giá trị mặc định cho
Gửi output cho JspWriter hiện hành
Xác định 1 tham số URL cho hay
Điều hướng request sang URL mới
Xóa 1 đối tượng trong 1 scope nào đó
Tạo 1 đối tượng trong 1 scope nào đó
Tạo 1 URL
Khai báo điều kiện trong

Các thẻ định dạng và địa phương hóa – Formatting Action:

Tên thẻ Ý nghĩa
Xác định resoure bundle cho các messge đi kèm trong thẻ fmt:bundle
Xác định resoure bundle và gán vào 1 biến để dùng sau này
Định dạng ngày theo 1 vùng địa lý nào đó
Định dạng số theo 1 vùng địa lý nào đó
Truy xuất vào 1 message trong bundle

Các thẻ SQL (SQL Tags) trong JSTL

ThẻMiêu tả
Tạo một DataSource đơn giản chỉ thích hợp cho prototype
Thực thi SQL query được định nghĩa trong phần thân của nó hoặc thông qua thuộc tính sql
Thực thi SQL update được định nghĩa trong phần thân của nó hoặc thông quan thuộc tính sql
Thiết lập một parameter trong một lệnh SQL tới giá trị đã xác định
Thiết lập một parameter trong một lệnh SQL tới giá trị java.util.Date đã xác định
Cung cấp các phần tử database action được lặp với một Connection đã chia sẻ, thiết lập để thực thi tất cả các lệnh

Các thẻ XML (XML Tags) trong JSTL

ThẻMiêu tả
Giống , nhưng dành cho các XPath Expression
Sử dụng để parse XML data được xác định hoặc thông qua một thuộc tính hoặc trong phần thân thẻ
Thiết lập một biến tới giá trị của một XPath expression
Ước lượng XPath Expression và nếu nó là true, thì nó xử lý phần thân thẻ. Nếu điều kiện là false, phần thân bị bỏ qua
Lặp qua các node trong một tài liệu XML
Thẻ điều kiện đơn giản mà thiết lập một context cho hoạt động điều kiện loại trừ, được đánh dấu bởi và trong JSTL
Thẻ phụ của mà bao phần thân thẻ nếu Expression được ước lượng là ‘true’
Thẻ phụ của mà theo sau các thẻ và chỉ chạy khi nếu tất cả điều kiện trước là ‘false’
Áp dụng một phép biến đổi XSL trên một tài liệu XML
Sử dụng cùng với thẻ transform để thiết lập một parameter trong XSLT stylesheet

Các thẻ hàm JSTL(JSTL Functions Tags)

Hàm (function)Miêu tả
fn:contains() trong JSTL Kiểm tra nếu một chuỗi input chứa chuỗi phụ đã cho
fn:containsIgnoreCase() trong JSTL Kiểm tra nếu một chuỗi input chứa chuỗi phụ đã cho trong trường hợp không phân biệt kiểu chữ
fn:endsWith() trong JSTL Kiểm tra nếu một chuỗi input kết thúc với suffix đã cho
fn:escapeXml() trong JSTL Các ký tự thoát mà có thể được phiên dịch như XML markup
fn:indexOf() trong JSTL Trả về index bên trong một chuỗi về sự xuất hiện đầu tiên của chuỗi phụ
fn:join() trong JSTL Kết hợp tất cả phần tử trong một mảng thành một chuỗi
fn:length() trong JSTL Trả về số item trong một tập hợp, hoặc số ký tự trong một chuỗi
fn:replace() trong JSTL Trả về một chuỗi là kết quả của việc thay thế một chuỗi input với một chuỗi đã cho
fn:split() trong JSTL Chia một chuỗi thành một mảng các chuỗi phụ
fn:startsWith() trong JSTL Kiểm tra nếu một chuỗi input bắt đầu với prefix đã cho
fn:substring() trong JSTL Trả về một tập con của một chuỗi
fn:substringAfter() trong JSTL Trả về một tập con của một chuỗi ở sau một chuỗi phụ đã cho
fn:substringBefore() trong JSTL Trả về một tập con của một chuỗi ở trước một chuỗi phụ đã cho
fn:toLowerCase() trong JSTL Biến đổi tất cả ký tự của một chuỗi thành chữ thường
fn:toUpperCase() trong JSTL Biến đổi tất cả ký tự của một chuỗi thành chữ hoa
fn:trim() trong JSTL Gỡ bỏ các khoảng trống trắng từ hai đầu của một chuỗi

5. Áp dụng JSP Standard Tag Library (JSTL) quá các ví dụ

Trong phần này, tôi sẽ hướng dẫn các bạn những ví dụ cụ thể về JSTL trong jsp với phần core jstl, những phần khác cũng hoàn toàn tương tự cách sử dụng:

Leave a Comment