III. Định nghĩa các tag.
1. Tag handler.
Tag handler là một đối tượng được gọi lên bởi JSP container để định trị cho custom tag trong xuốt quá trình thực thi của trang JSP cĩ tham chiếu tới một
tag nào đĩ. Các phương thức của tag handler được gọi bởi lớp cài đặt trang JSP vào các thời điểm khác nhau trong xuốt quá trình định trị cho tag.
Khi gặp start tag của custom tag thì lớp cài đặt trang JSP gọi các phương thức để khởi tạo các giá trị thích hợp và sau đĩ triệu gọi phương thức doStartTag. Khi gặp end tag của custom tag thì phương thức doEndtag được gọi.
Tuỳ theo mục đích của từng custom tag mà chúng ta xử lý các phương thức thích hợp trong từng giao tiếp cài đặt. Bảng sau mơ tả các loại tag cĩ các phương thức tương ứng để xử lý.
Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải
Svth: Đinh Lê Giang Trang 39
L
Looạạiittaagghhaannddlleerr CCááccpphhưươơnnggtthhứứccccầầnnxxửửllýý
Simple doStartTag, doEndTag, release
Attributes doStartTag, doEndTag, set/getAttribute1...N
Body, No
Interaction doStartTag, doEndTag, release
Body, Interaction doStartTag, doEndTag, release, doInitBody, doAfterBody
Tag handler cĩ sự truy cập vào API mà cho phép nĩ truyền thơng với trang JSP. Con đường vào API này là đối tượng pageContext, qua đĩ tag handler
cĩ thể truy cập vào mọi đối tượng ngầm định khác như request, session,
application từ trang JSP. Các đối tượng ngầm định cĩ thể cĩ các thuộc tính kết hợp với chúng. Các thuộc tính như thế được truy cập qua các phương thức [get/set]Attribute thích hợp.
Nếu tag được lồng nhau thì tag handler cũng cĩ thể truy cập handler này (được gọi là parent) cùng với tồn bộ tag.
Các tag handler phải được cài đặt hai giao tiếp hoặc Tag hoặc BodyTag. Các giao tiếp cĩ thể được dùng để lấy đối tượng Java đã tồn tại và tạo ra một tag handler. Để định nghĩa các tag handler mới chúng ta cĩ thể dùng các lớp
TagSupport và BodyTagSupport như là các lớp cơ sở (xem III. 4. Tag handler được triệu gọi như thế nào?).
Đồ án tốt nghiệp Gvhd: Ts. Nguyễn Thúc Hải
Svth: Đinh Lê Giang Trang 40