Kết thúc bài học này bạn có khả năng
Expression Language (EL)
Java Standard Tag Library (JSTL)

EXPRESSION LANGUAGE(EL)

 Giới thiệu:
EL là một tính năng mới trong JSP 2.0
Dễ dàng viết biểu thức trên trang JSP ngắn hơn, dễ sử dụng hơn
Cho phép nhà phát triển JSP có thể truy cập các đối tượng Java
dễ dàng và nhanh chóng.
 Cú pháp của EL: ${expression}
Hai biểu thức thông dụng nhất của EL là : Static text. (Text tĩnh)
và Standard and Custom tags.

 Có thể truy cập đến giá trị của biến bằng dùng dấu "." (chấm) hoặc
dấu [].
Ví dụ:
${sessionScope.color} = ${sessionScope["color"]}

EXPRESSION LANGUAGE(EL)

 Tính năng:
Để hiển thị thông tin, dữ liệu và thực thi các thao tác một
cách đơn giản mà ẩn đi được những dòng mã Java
Hỗ trợ sử dụng các đối tượng ẩn và mảng
Và đặc biệt có thể hỗ trợ các phép toán.
EL sẽ được tính toán trong thời gian chạy (Runtime).

EXPRESSION LANGUAGE(EL)

Ví dụ 1:

EXPRESSION LANGUAGE(EL)

Ví dụ 2:

DEMO

Chạy và giải thích

JAVA STANDARD TAG LIBRARY (JSTL)

JSTL là bộ thư viện thẻ chuẩn được bổ sung với
mục đích tối ưu lập trình trong JSP
Các thư viện cần thiết cho JSTL gồm
jstl-api.jar
jstl-impl.jar
Trong JSTL có rất nhiều bộ thẻ để xử lý các vấn
đề khác nhau
Core: chứa các thẻ lệnh điều khiển cơ bản
Format: chứa các thẻ định dạng và đa ngôn ngữ
Xml: chứa các thẻ xử lý xml
Sql: chứa các thẻ làm việc với CSDL
Function: cung cấp các hàm hỗ trợ cho EL

- Core Tags: Nhóm thẻ cơ bản
- Formatting tags: Nhóm thẻ định dạng
- SQL tags: Nhóm thẻ SQL
- XML tags: Nhóm thẻ XML
- JSTL Functions: Nhóm hàm JSTL

Functions

JAVA STANDARD TAG LIBRARY (JSTL)

 Tổng quan về các chức năng của JSTL

JAVA STANDARD TAG LIBRARY (JSTL)

Chức năng Mô tả / Khai báo
Các thẻ cơ bản
(Core Tags)

Các thẻ cơ bản cung cấp hỗ trợ cho bộ lặp (iteration), các điều kiện logic, if, forEach...
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

Các thẻ định dạng
(Formatting and
Localization Tags)

Những thẻ này cung cấp định dạng và quốc tế hóa
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>

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ư
Oracle, MySql v..v.
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>

Các thẻ XML
(XML Tags)

Thẻ XML được sử dụng để làm việc với các tài liệu XML như phân tích và đọc dữ liệu file
MXL
<%@ taglib uri="http://java.sun.com/jsp/jstl/xml" prefix="x" %>

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

Cung cấp một số chức năng mà chúng ta có thể sử dụng để thực hiện với các toán tử
thông dụng, hổ trợ các hàm với kiểu String như nối chuỗi, phân tách chuỗi, ...
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

Trong phạm vi môn học này, các bạn sẽ sử dụng bộ thẻ Core Tag và
SQL Tag

 Các thẻ JSTL cơ bản (JSTL Core Tags)
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
JAVA STANDARD TAG LIBRARY (JSTL)

Thẻ Ý nghĩa
<c:catch> Catch những exception xảy ra trong code body
<c:choose> Chọn 1 trong nhiều đoạn mã để thi hành khi thỏa mãn

điều kiện nào đó

<c:forEach> Vòng lặp quét hết tập hợp nào đó
<c:forToken> Vòng lặp quét hết 1 chuỗi nào đó theo chuỗi phân cách
<c:if> Thi hành đoạn code khi thỏa mãn điều kiện
<c:import> Import một URL nào đó
<c:otherwise> Xác định giá trị mặc định cho <c:choose>
<c:out> Gửi output cho JspWriter hiện hành
<c:param> Xác định 1 tham số URL cho <c:import> hay <c:url>
<c:redirect> Điều hướng request sang URL mới
<c:remove> Xóa 1 đối tượng trong 1 scope nào đó
<c:set> Tạo 1 đối tượng trong 1 scope nào đó
<c:url> Tạo 1 URL
<c:when> Khai báo điều kiện trong <c:choose>

 Add thư viện JSTL vào project

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 1: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

 Ví dụ 2: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

 Ví dụ 3: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

 Ví dụ 4: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

 Ví dụ 5: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 5: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 5: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

 Ví dụ 6: Core Tag

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy các vị dụ và giải thích

BÀI 5: EXPRESSION LANGUAGE (EL),
JAVA STANDARD TAG LIBRARY (JSTL)
PHẦN 2
LẬP TRÌNH JAVA 4

 Các thẻ SQL (SQL Tags)
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
 Tag <sql:setDataSource>: Được dùng để thiết lập thông tin
data source cho database
 Cú pháp:

 Tag <sql:query>: Dùng để select data từ các tables, kết quả trả về
chứa các dòng các các cột dữ liệu
 Cú pháp:

JAVA STANDARD TAG LIBRARY (JSTL)

 Các thẻ SQL (SQL Tags)
<%@ taglib uri="http://java.sun.com/jsp/jstl/sql" prefix="sql" %>
 Tag <sql:update>: Dùng để Insert, Update, Delete
 Cú pháp:

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 1: SQL tags

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 1: SQL tags
 Database

 Kết quả:

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy và giải thích

 Ví dụ 2: SQL tags

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 2: SQL tags

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy và giải thích

 Ví dụ 3: SQL tags

JAVA STANDARD TAG LIBRARY (JSTL)

 Ví dụ 3: SQL tags

JAVA STANDARD TAG LIBRARY (JSTL)

DEMO

Chạy và giải thích

TỔNG KẾT

Expression Language (EL)
Java Standard Tag Library (JSTL)