Trong bài này, chúng ta sẽ thảo luận về cú pháp trong JSP. Bạn sẽ hiểu được cách sử dụng cơ bản về các cú pháp hay được sử dụng bên trong một trang JSP.
Các thành phần của JSP:
- JSP Scriptlet.
- JSP Declaration.
- JSP Expression.
- JSP Directive.
- JSP Action.
Nội dung chính
1. JSP Scriptlet
Với Scriptlet bạn có thể viết bất kỳ câu lệnh java nào, như khai báo biến, khai báo phương thức, khởi tạo biến, in dữ liệu ra trình duyệt.
Cú pháp của JSP Scriptlet:
<% java code %>
Ví dụ:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Cu phap JSP</title> </head> <body> <p> <% String message = "Hello JSP!"; %> <% out.print(message); %> </p> </body> </html>
Kết quả hiển thị trên trình duyệt:
Hello JSP!
2. JSP Declaration
Với JSP Declaration bạn có thể khai báo biến và phương thức bằng java code bên trong tệp JSP. Bạn phải khai báo biến và phương thức trước khi sử dụng nó trong tệp JSP.
Cú pháp của JSP Declaration:
<%! declaration; [ declaration; ]+ ... %>
Ví dụ về JSP Declaration:
<%!List<String> list = new ArrayList<String>();%> <%!int i = 0;%> <%!int a, b, c;%>
3. JSP Expression
JSP Expression - biểu thức JSP được sử dụng để in một chuỗi ký tự.
Cú pháp của JSP Expression:
<%= expression %>
Ví dụ về JSP Expression
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Cu phap JSP</title> </head> <body> <p>Today's date: <%= (new java.util.Date()).toLocaleString()%></p> </body> </html>
Kết quả hiển thị trên trình duyệt:
Today's date: 06-Oct-2017 14:24:25
4. JSP Directives
Một chỉ thị JSP ảnh hưởng đến cấu trúc tổng thể của lớp servlet. Nó thường có dạng sau:
<%@ directive attribute="value" %>
Có ba loại chỉ thị tag:
No. | Chỉ thị và Mô tả |
---|---|
1 | <%@ page ...%>
Định nghĩa thuộc tính page-dependent, chẳng hạn như import package, trang lỗi và yêu cầu bộ đệm. |
2 | <%@ include ...%>
Bao gồm tập tin trong giai đoạn biên dịch. |
3 | <%@ taglib ...%>
Khai báo một tag library, chứa các hành động tùy chỉnh, được sử dụng trong trang. |
Ví dụ:
<%@ page import="java.util.List"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> Cu phap JSP</title> </head> <body> <p> <%! List<String> list; %> </p> </body> </html>
Bên trên là ví dụ sử dụng jsp directive để khai báo việc import interface java.util.List vào tệp JSP.
5. JSP Action
JSP action sử dụng cấu trúc XML để điều khiển hành vi của servlet engine. Bạn có thể chèn một file, tái sử dụng JavaBeans component, chuyển tiếp người dùng đến một trang khác hoặc tạo ra HTML cho Java plugin.
Cú pháp của JSP Action:
<jsp:action_name attribute="value" />
Bảng sau liệt kê cách JSP Action:
No. | Cú pháp & Mục đích |
---|---|
1 | jsp:include
Thêm nội dung được include tại thời điểm trang được request. |
2 | jsp:useBean
Tìm hoặc khởi tạo một JavaBean. |
3 | jsp:setProperty
Thiết lập thuộc tính của một JavaBean. |
4 | jsp:getProperty
Chèn thuộc tính của một JavaBean vào đầu ra. |
5 | jsp:forward
Chuyển tiếp người yêu cầu tới một trang mới. |
6 | jsp:plugin
Tạo mã trình duyệt cụ thể mà làm cho một thẻ OBJECT hoặc EMBED cho Java plugin. |
7 | jsp:element
Định nghĩa các phần tử XML động. |
8 | jsp:attribute
Định nghĩa thuộc tính của phần tử XML được tự động định nghĩa. |
9 | jsp:body
Định nghĩa phần thân của phần tử XML được tự động định nghĩa. |
10 | jsp:text
Được sử dụng để viết văn bản mẫu trong các trang JSP và tài liệu. |