JSTL
JSTL
Khoa Mạng máy tính và Truyền thông
Khoa Mạng máy tính và Truyền thông
Đại học Công nghệ Thông tin
Đại học Công nghệ Thông tin
JavaServer Pages Standard Tag Library
JavaServer Pages Standard Tag Library
JavaServer Pages Standard Tag Library
2
Nội dung
Nội dung
Giới thiệu tổng quan
Các thành phần chức năng của JSTL
Core tags
Database Access tags
XML tags
Internationalization and Text Formatting tags
EL (Expression Language) function tags
Giới thiệu tổng quan
Giới thiệu tổng quan
JavaServer Pages Standard Tag Library
Cài đặt
{taglib}/tld: copy vào thư mục /WEB-INF của ứng dụng
và khai báo trong tập tin web.xml
{taglib}/lib: copy các tập tin .jar vào thư mục /WEB-
INF/lib của ứng dụng
JavaServer Pages Standard Tag Library
6
Khai báo taglib trong web.xml
Khai báo taglib trong web.xml
<taglib>
<taglib-uri> /> <taglib-location>/WEB-INF/fmt.tld</taglib-location>
</taglib>
<taglib>
<taglib-uri> /> <taglib-location>/WEB-INF/c.tld</taglib location>
</taglib>
<taglib>
<taglib-uri> /> <taglib-location>/WEB-INF/sql.tld</taglib location>
</taglib>
<taglib>
<taglib-uri> /> <taglib-location>/WEB-INF/x.tld</taglib location>
</taglib>
JavaServer Pages Standard Tag Library
7
XML
<%@ taglib prefix=“x” uri=“ %>
Internationalization (i18n)
<%@ taglib prefix=“fmt” uri=“ %>
Functions
<%@ taglib prefix=“fn” uri=“ %>
Database (SQL)
<%@ taglib prefix=“sql” uri=“ %>
Core Tags
Core Tags
JavaServer Pages Standard Tag Library
10
Core Tags Types
Core Tags Types
Khai báo và sử dụng biến
<c:set>
<c:remove>
Cấu trúc điều kiện
<c:param>
Các mục đích khác
<c:out>
<c:catch>
JavaServer Pages Standard Tag Library
12
Khai báo và sử dụng biến: <c:set>
Khai báo và sử dụng biến: <c:set>
Thiết lập giá trị của một biến thông qua thuộc tính
“var” trong một phạm vi “scope” cụ thể: page,
request, session, application
Nếu chưa tồn tại, biến sẽ được tạo ra
Có hai cách để sử dụng <c:set>
<c:set var=“…” scope=“…” value=“…” />
<c:set var=“userId” scope=“request” value=“${param.userID}” />
<c:set var=“…”>value</c:set>
JavaServer Pages Standard Tag Library
13
Ví dụ
Ví dụ
Hủy một biến đã được khai báo và định nghĩa
<c:remove var="cart" scope="session“ />
JavaServer Pages Standard Tag Library
16
Sử dụng: <c:catch>
Sử dụng: <c:catch>
<c:catch var ="catchException">
command-block
</c:catch>
JavaServer Pages Standard Tag Library
17
Conditional Tags
Conditional Tags
Sử dụng thay cho lệnh Java
<c:if test=“…” >
Khối lệnh trong <c:if>được thực thi tùy thuộc và giá trị
của biểu thức test
<c:choose>
Khối lệnh trong các thẻ con <c:when> và
<c:otherwise> sẽ được thực thi tùy thuộc vào điều kiện
Nguyên tắc hoạt động giống if-then-else
JavaServer Pages Standard Tag Library
18
var: item hiện tại đang được duyệt
varStatus: trạng thái duyệt
begin, end, step: phạm vi duyệt và bước nhảy
Các kiểu dữ liệu tập hợp
java.util.Collection
java.util.Map
Kiểu dữ liệu của thuộc tính var là java.util.Map.Entry với hai
thành phần:
key
value