Custom Tag JSP – Eclipse
Tham khảo: http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPTags.html
Trong Eclipse tạo 1 project dạng Dynamic Web Project có tên MyCustomTag.
1. Custom tag đơn giản:
Tạo lớp SimpleTag.java trong gói vovanhai.wordpress.com với code như sau:
| package vovanhai.wordpress.com;import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class SimpleTag extends TagSupport{ |
Trong thư mục WEB-INF tạo 1 thư mục có tên tlds sau đó tạo 1 file có tên mySimpleTag.tld với nội dung như sau:
| <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE taglib PUBLIC “-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2/EN” “http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd” ><taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>ví dụ tag đơn giản</short-name> <tag> |
Tạo trang testTag.jsp để thử, code như sau:
| <%@ taglib uri=”/WEB-INF/tlds/mySimpleTag.tld” prefix=”simple”%> <%@ 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>Thử Custum Tag đơn giản</title> </head> <body> <simple:mytag /> </body> </html> |
Kết quả sau khi triển khai trên Tomcat và vào url
http://localhost:8080/MyCustomTag/testTag.jsp:

2. Custom tag có kèm theo thuộc tính:
Tạo lớp TagAttrs.java trong gói vovanhai.wordpress.com với code như sau:
| package vovanhai.wordpress.com;import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.jsp.JspWriter; import javax.servlet.jsp.tagext.TagSupport; public class TagAttrs extends TagSupport{ |
Trong thư mục WEB-INF\tlds tạo tập tin tagWithAttribites.tld có nội dung sau:
| <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE taglib PUBLIC “-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2/EN” “http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd” ><taglib> <tlib-version>1.0</tlib-version> <jsp-version>1.2</jsp-version> <short-name>ví dụ tag có thuộc tính</short-name> <tag> <name>tagattrs</name> <tag-class>vovanhai.wordpress.com.TagAttrs</tag-class> <body-content>empty</body-content> <attribute> <name>id</name> <required>true</required> </attribute> <attribute> <name>name</name> </attribute> </tag> </taglib> |
Như vậy ở đây ta có 2 thuộc tính, id- bắt buộc phải có.
Hiệu chỉnh trang testTag.jsp như sau:
| <%@ taglib uri=”/WEB-INF/tlds/mySimpleTag.tld” prefix=”simple”%> <%@ taglib uri=”/WEB-INF/tlds/tagWithAttribites.tld” prefix=”tagatrs”%> <%@ 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>Thử Custum Tag đơn giản</title> </head> <body> <simple:mytag /> <br/> <p>Tag với thuộc tính</p> <tagatrs:tagattrs id=”001″ name=”Nguyễn Văn Tèo”/> </body> </html> |
Kết quả thực thi:

3. Body Tag
Tạo lớp MyBodyTag.java trong gói vovanhai.wordpress.com với code như sau:
| package vovanhai.wordpress.com;
import java.io.IOException; public class MyBodyTag extends BodyTagSupport{ @Override |
Trong thư mục WEB-INF\tlds tạo tập tin tagWithAttribites.tld có nội dung sau:
| <?xml version=”1.0″ encoding=”UTF-8″?> <!DOCTYPE taglib PUBLIC “-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2/EN” “http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd” > <taglib> |
Tạo trang BodyTagExample.jsp có nội dung sau để thử
| <%@ page language=”java” contentType=”text/html; charset=UTF-8″ pageEncoding=”UTF-8″%> <%@ taglib uri=”/WEB-INF/tlds/stag.tld” prefix=”tbl” %> <!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>Thử Custum Tag đơn giản</title> </head> <body> <tbl:stag> ví dụ Body Tag</tbl:stag> </body> </html> |
Nói chung vấn đề này còn liên quan đến nhiều kỹ thuật, bạn có thể tham khảo thêm ở trang web của SUN.
Chúc thành công!
takeshi said
Cam on ban nhe!
hironakamuza said
Em chào thầy!
Thầy có ví dụ nào demo về việc upload file ảnh vào thư mục chỉ định trong root không thầy post cho chúng em tham khảo với ạ . Đại loại như ảnh được chọn được đưa vào thư mục image lấy được đường dẫn của nó là image/tên_file_ảnh.type-image . em đang vướng về vấn đề này khi làm một trang web bằng jsp . mong thầy giúp đỡ