JSP Expression Kết quả – Expression sau tính toán ra kết quả sẽ được chuyển thành một String Stream của Servlet.. – Kết quả tương tự như: out.printlnExpression; – Trong Expression
Trang 1CHUYÊN ĐỀ JAVA
Nguyễn Hoàng Anh – nhanh@fit.hcmus.edu.vn
JSP SCRIPTING ELEMENTS
Trang 2Nội dung trình bày
JSP Expression
JSP Scriptlet
JSP Declaration
Trang 3– JSP Expressions : <%= Java Expression %>
– JSP Scriplets : <% Java Code %>
– JSP Declarations : <%! Declarations %>
3
Trang 4JSP Expressions
<%= Java Expression %>
Trang 7JSP Expression
Kết quả
– Expression sau tính toán ra kết quả sẽ được chuyển thành một String
Stream của Servlet
– Kết quả tương tự như:
out.println(Expression);
– Trong Expression có thể sử dụng các biến:
• Các biến được định nghĩa tường minh
• Các đối tượng được tạo sẵn ngầm định
7
Trang 8Các đối tượng được tạo sẵn trong trang JSP
Trang 9<meta http-equiv="Content-Type"
content="text/html; charset=UTF-8">
<title>JSP Page</title>
<li>The <code>testparam</code> form parameter: <%= request.getParameter("testparam")%> </ul>
</body>
</html>
JSP Expression
9
Trang 10JSP Expression
Trang 12public class PhanSo {
private int tuSo;
private int mauSo;
public PhanSo(int tu, int mau) {
this.tuSo = tu;
this.mauSo = mau;
}
@Override
public String toString() {
return this.tuSo + "/" + this.mauSo; }
}
Trang 13< meta http-equiv ="Content-Type"
content ="text/html; charset=UTF-8">
< title >Bài tập phân số</ title >
Trang 14Sử dụng JSP Expression
Trang 15+ "< meta http-equiv =\"Content-Type\“ \n "
+ " content =\"text/html; charset=UTF-8\">\n"
+ "< title>Đọc tham số </ title >\n"
+ "</ body >\n”
+ "</ html >";
Trang 16So sánh Servlet với JSP
Trang 17< meta http-equiv ="Content-Type"
content ="text/html; charset=UTF-8">
< title>Đọc tham số </ title >
</ body >
</ html >
Trang 18So sánh Servlet với JSP
Trang 19JSP Scriptlets
19
<% Java Code %>
Trang 21JSP Scriptlet
Kết quả:
– Sau khi trang JSP được thông dịch sang Servlet, mã
bên trong phương thức _jspService()
Trong Scriptlet có thể sử dụng các biến:
– Các biến được định nghĩa tường minh
– Các đối tượng được tạo sẵn ngầm định
Trong scriptlet được phép khai báo biến, sử dụng các câu lệnh điều kiện, vòng lặp, gọi phương thức,…
21
Trang 22Sử dụng Scriptlet
Trang 23< form name ="frm" method ="get">
Nhập n:< input type ="text" name ="soLuong"/>< br /> < input type ="submit" name ="bt" value ="Phát sinh"/> </ form >
Trang 24Sử dụng Scriptlet + Expression + HTML
Trang 25< body >< center >< form name ="frm" method ="get">
Nhập n:< input type ="text" name ="soLuong"/>< br /> < input type ="submit" name ="bt" value ="Phát sinh"/>
Trang 26JSP Declaration
<%! Khai báo các thuộc tính
Trang 27JSP Declaration
Định dạng:
JSP : <%! Khai báo các thuộc tính
Định nghĩa các phương thức %> XML : <jsp:declaration>
Khai báo các thuộc tính
Trang 28JSP Declaration
Sau khi trang JSP được thông dịch thành Servlet thì các khai báo thuộc tính và định nghĩa phương thức được chèn vào bên trong Servlet
JSP Declaration được sử dụng với Scriptlet và Expression
Trang 29JSP Declaration
JSP Declaration cho phép
_jspService()
JSP Declaration không được phép sử dụng các đối
29
Trang 30Sử dụng JSP Declaration
Trang 31public class PhanSo {
private int tuSo;
private int mauSo;
public PhanSo(int tu, int mau) { this.tuSo = tu;
this.mauSo = mau;
}
public PhanSo cong(PhanSo ps) {
int tu = this.tuSo * ps.mauSo + this.mauSo * ps.tuSo; int mau = this.mauSo * ps.mauSo; PhanSo kq = new PhanSo(tu, mau); return kq;
}
}
Trang 32public String toString() {
return this.tuSo + "/" + this.mauSo;
}
Trang 33
Khai báo JSP Declaration
<%@ page contentType ="text/html" pageEncoding ="UTF-8"%>
<%@ page import ="mypackage.*"%>
//lúc gọi jspInit đến jspDestroy
private int soLanTruyCap;
Trang 34
Khai báo JSP Declaration
// Cài đặt lại phương thức jspInit
public void jspInit() {
this.ps1 = new PhanSo(1, 2);
this.ps2 = new PhanSo(2, 3);
this.soLanTruyCap = 1;
}
//Cài đặt lại phương thức jspDestroy
public void jspDestroy() {
this.ps1 = null; this.ps2 = null; this.soLanTruyCap = 0;
}
//Định nghĩa phương thức mới
public void tangSoLanTruyCap() {
this.soLanTruyCap++;
}
%>
Trang 35
< h1 >CHƯƠNG TRÌNH CỘNG HAI PHÂN SỐ</ h1 >
< form name ="frm" method ="get">
Phân số 1: < input type ="text" name ="ps1"/>< br /> Phân số 2: < input type ="text" name ="ps2"/>< br /> < input type ="submit" name ="btCong" value ="Cộng"/> < br >
</ form >
Trang 37
– JSP Expressions : <%= Java Expression %>
– JSP Scriplets : <% Java Code %>
– JSP Delarations : <%! Delarations %>
37
Trang 38THẢO LUẬN
Trang 39Expression, Scriptlet, Declaration
Theo bạn khi nào nên thì sử dụng Expression, Scriplet, Declaration?
Trang 40TÀI LIỆU THAM KHẢO
Trang 41Tham khảo
Marty Hall, Larry Brown, Core Servlets and JavaServer Pages™: Volume 1: Core Technologies, 2nd Edition (2003)
http://courses.coreservlets.com/Course-Materials/csajsp2.html (2010)
41
Trang 42HỎI VÀ ĐÁP