Tài liệu Tạo và sử dụng tag trong jsp cơ bản

  • Số trang: 34 |
  • Loại file: PDF |
  • Lượt xem: 216 |
  • Lượt tải: 0
tranphuong

Đã đăng 59174 tài liệu

Mô tả:

Thành viên trong nhóm : 1. Phan Minh Trí 2. Thái Thanh Tâm 3. Nguyễn Văn Quốc Huy 4. Nguyễn Phú Hội Ứng dụng đơn giản Ứng dụng phức tạp Gọi trực tiếp JSP code Gọi JSP code thông qua class Beans Kết hợp JSP/Servlet (sử dụng mô hình MVC) • Sử dụng TAG • Sử dụng tổng hợp (Beans kết hợp mô hình MVC, kết hợp TAG và một số framework khác (JSF 2.0, …) • • • • • • • • • Tag là gì ? Tại sao phải sử dụng tag trong JSP ? Có bao nhiêu loại tag ? Điểm khác biệt giữa các loại ? Cách sử dụng từng loại ? Thành phần : 1.JSP Page sử dụng TAG 2.Tag Library Descriptor file (TLD file) 3.Handler class Chức năng : Sử dụng TAG Đặt ở đâu : Trong / Cấu trúc : • Import file TLD • Định nghĩa tag-prefix <%@ taglib uri="/WEB-INF/path-to-tld.tld“ prefix=“someprefix" %> • Cách đặt tag • • tagName : phải trùng với element name của tag trong file TLD • prefix : phải trùng với prefix được định nghĩa ở trên

Some 50-Digit Primes

<%@ taglib uri="/WEB-INF/tlds/csajsp-taglib.tld" prefix="csajsps" %>
Chức năng : xác định dữ liệu sẽ xuất ra cho TAG Đặt ở : Cùng với thư mục chứa các file class servlet (thông thường ở /src) Cấu trúc : • Kế thừa class SimpleTagSupport • Import các package cần thiết : • javax.servlet.jsp.* • javax.servlet.jsp.tagext.* • java.io.* • Override hàm doTag • Sử dụng JspWriter để xuất dữ liệu ra cho TAG package coreservlets.tags; import import import import import javax.servlet.jsp.*; javax.servlet.jsp.tagext.*; java.io.*; java.math.*; coreservlets.Primes; public class SimplePrimeTag extends SimpleTagSupport { protected int length = 10; @Override public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); BigInteger prime = Primes.nextPrime(Primes.random(length)); out.print(prime); } } Chức năng : mô tả thành phần của TAG (name, attributes) và điều hướng đến handler class Đặt : Trong /WEB-INF Cấu trúc : ngôn ngữ XML • Bắt đầu bằng XML header • 2 Element tiếp theo mô tả vài thông tin chung của tag • • Định nghĩa mỗi element khác nhau với các element con : • (optional) : mô tả tag • (required) : tên tag • (required) : tên handler class • (optional) • (optional) 1.0 csajsp-taglib Outputs 50-digit primes simplePrime coreservlets.tags.SimplePrimeTag empty Cách đặt tag • • tagName : phải trùng với giá trị của trong file TLD • Tên thuộc tính phải trùng với giá trị trong của tương ứng trong file TLD • prefix : phải trùng với prefix được định nghĩa <%@ taglib uri="/WEB-INF/tlds/csajsp-taglib.tld“ prefix="csajsp" %>
  • 20-digit:
  • 40-digit:
  • 80-digit:
  • Default (50-digit):
• Thêm element vào trong element • Element có các element con sau : • : tên thuộc tính • : có bắt buộc hay không (true/false) Outputs an N-digit prime prime-with-attribute coreservlets.tags.PrimeTag empty length false • Thêm hàm xử lý thuộc tính vào class xử lý tag public void setAttribute1(String value) { doSomethingWith(value); } • Lưu ý: package coreservlets.tags; public class PrimeTag extends SimplePrimeTag { protected int length = 50; public void setLength(String length) { try { this.length = Integer.parseInt(length); } catch(NumberFormatException nfe) {} } } Cách đặt tag : Scriptless JSP Content <%@ taglib uri="/WEB-INF/tlds/csajsp-taglib.tld“ prefix="csajsp" %> First Heading • Thêm element vào trong element • Giá trị hợp lệ của • empty: rỗng • scriptless : chứa plaintext, EL, tags khác, điều hướng trang • tagdependent : content được xử lý bởi tag Formats enclosed heading heading coreservlets.tags.HeadingTag scriptless Sử dụng getJspBody().invoke(null); để xuất content có trong tag package coreservlets.tags; import javax.servlet.jsp.*; import javax.servlet.jsp.tagext.*; import java.io.*; public class HeadingTag extends SimpleTagSupport { public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); out.println(“”); // Output content of the body getJspBody().invoke(null); out.println(“”); } } Bao gồm 2 thành phần : Tag file : • Đặt tại /WEB-INF/tags/ • Tên : some-name.tag JSP page sử dụng tag : • Trỏ đến thư mục/WEB-INF/tags hoặc một thư mục con.
- Xem thêm -