Professional Documents
Culture Documents
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ệ
Các thẻ SQL như MySql, SQL server, Oracle … Thông thường chúng ta sử dụng loại thẻ này để truy
(SQL Tags) 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:
<%@ taglib uri=”http://java.sun.com/jsp/jstl/sql” prefix=”sql” %>
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
Các thẻ XML bạn cần khai báo vào trong trang JSP đang sử dụng như sau:
(XML Tags)
<%@ taglib uri=”http://java.sun.com/jsp/jstl/xml” prefix=”x” %>
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ử
Các thẻ hàm JSTL 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
(JSTL Functions trong trang JSP đang sử dụng như sau:
Tags)
<%@ taglib uri=”http://java.sun.com/jsp/jstl/functions” prefix=”fn” %>
thẻ
<x:set > 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à
<x:if >
false, phần thân bị bỏ qua
<x:forEach> 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
<x:choose>
bởi <when> và <otherwise> trong JSTL
<x:when > Thẻ phụ của <choose> mà bao phần thân thẻ nếu Expression được ước lượng là ‘true’
<x:otherwise Thẻ phụ của <choose> mà theo sau các thẻ <when> và chỉ chạy khi nếu tất cả điều kiện trước là
> ‘false’
<x:transform
Áp dụng một phép biến đổi XSL trên một tài liệu XML
>
<x:param > 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 Kiểm tra nếu một chuỗi input chứa chuỗi phụ đã cho trong trường hợp không
JSTL 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
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
fn:replace() trong JSTL
đã 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:
Tạo các tệp sau:
Tệp SinhVien.java
public class SinhVien {
4
Tệp SinhVienController.java
import java.util.ArrayList;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import com.itphutran.entities.SinhVien;
@Controller
@RequestMapping("/sinh-vien")
public class SinhVienController {
@GetMapping("")
public String index(ModelMap modelMap){
ArrayList<SinhVien> listSV = new ArrayList<SinhVien>();
listSV.add(new SinhVien(1,"Đoàn Phương Linh"));
listSV.add(new SinhVien(2, "Lưu Bị"));
listSV.add(new SinhVien(3, "Tào Tháo"));
listSV.add(new SinhVien(4, "Phú IT"));
modelMap.addAttribute("listSV",listSV);
return "index";
}
5
<c:choose>
<c:when test="${listSV.get(2).id % 2 != 0}">
<p>Sinh viên ${listSV.get(2).name } có ID là ${listSV.get(2).id} số lẻ!</p>
</c:when>
<c:otherwise>
<p>Sinh viên ${listSV.get(2).name } có ID là ${listSV.get(2).id} số Chẵn!</p>
</c:otherwise>
</c:choose>
6