这里,示例一个最简单的JSP自定义标签,它的功能是在页面上输出经典的"Hello World!"。工程目录如下:
HelloSimpleTagProject
│
├─src
│ └─mypacket
│ HelloSimpleTag.java
│
└─WebRoot
│ MyJsp.jsp
│
├─META-INF
│ MANIFEST.MF
│
└─WEB-INF
tld.tld
web.xml
用IDE开发的工作量很小,新建一个web项目,再在相应的目录中建立HelloSimpleTag.java,MyJsp.jsp,tld.tld就可以了。
具体代码如下:
HelloSimpleTag.java
package
mypacket;
import javax.servlet.jsp.tagext. * ;
import javax.servlet.jsp. * ;
import java.io.IOException;
public class HelloSimpleTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = this .getJspContext().getOut();
out.println( " Hello World! " );
}
}
import javax.servlet.jsp.tagext. * ;
import javax.servlet.jsp. * ;
import java.io.IOException;
public class HelloSimpleTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = this .getJspContext().getOut();
out.println( " Hello World! " );
}
}
MyJsp.jsp
<%
@ page language
=
"
java
"
pageEncoding
=
"
GB18030
"
%>
<% @ taglib uri = " /WEB-INF/tld.tld " prefix = " yx " %>
<% -- 上面是相对地址的写法,下面的绝对地址也可以,绝对地址同tld中定义
< %@ taglib uri = " http://blog.163.com/yang_xiang/ " prefix = " yx " %>
--%>
< html >
< head >
< title > Title </ title >
</ head >
< body >
< yx:hello />
</ body >
</ html >
<% @ taglib uri = " /WEB-INF/tld.tld " prefix = " yx " %>
<% -- 上面是相对地址的写法,下面的绝对地址也可以,绝对地址同tld中定义
< %@ taglib uri = " http://blog.163.com/yang_xiang/ " prefix = " yx " %>
--%>
< html >
< head >
< title > Title </ title >
</ head >
< body >
< yx:hello />
</ body >
</ html >
tld.tld
<?
xml version="1.0" encoding="UTF-8"
?>
<! DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd" >
< taglib >
< tlibversion > 1.2 </ tlibversion >
< jspversion > 1.1 </ jspversion >
< shortname > yx </ shortname >
< uri > http://blog.163.com/yang_xiang/ </ uri >
< tag >
< name > hello </ name >
< tagclass > mypacket.HelloSimpleTag </ tagclass >
< bodycontent > empty </ bodycontent >
</ tag >
</ taglib >
<! DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd" >
< taglib >
< tlibversion > 1.2 </ tlibversion >
< jspversion > 1.1 </ jspversion >
< shortname > yx </ shortname >
< uri > http://blog.163.com/yang_xiang/ </ uri >
< tag >
< name > hello </ name >
< tagclass > mypacket.HelloSimpleTag </ tagclass >
< bodycontent > empty </ bodycontent >
</ tag >
</ taglib >
然后部署到Tomcat并启动,浏览器中输入 http://localhost:8080/a/MyJsp.jsp 就可以看到效果了。