二、实验 1.试验介绍 下面的实验就是基于上述开发流程开发的。 (1)在JSP中指定taglib的uri:<%@ taglib uri="/helloworld" prefix="mytag" %>。 (2)在web.xml中配置tag-location: <taglib> <taglib-uri>/helloworld</taglib-uri> <taglib-location>/WEB-INF/helloworld.tld</taglib-location> </taglib> (3)在tag-location中指定的.tld文件中定义实现标签的处理类: <short-name>mytag</short-name> <tag> <name>helloworld</name> <tag-class>mytag.HelloWorldTag</tag-class> <body-content>empty</body-content> </tag> (4)执行处理类mytag.HelloWorldTag的doStartTag和doEndTag方法,然后将结果输入到JSP中,和JSP中的内容一起输出。实际上自定义标签和JSP中的其他的内容被WebServer一起编译成servlet。 2. 完成后的试验的目录结构 应用myjsp放在Tomcat的webapps下。
myjsp中包含J2EE标准目录结构:WEB-INF和hello.jsp。WEB-INF中包含子目录classes和lib及web.xml,tld文件可以放在WEB-INF下,也可以放在WEB-INF的子目录下。 3.开始实验 3.1.编写JSP
< !—hello.jsp的源码 -- > <%@ page contentType="text/html; charset=GBK" %> <%@ taglib uri="/helloworld" prefix="mytag" %> <html> <head> <title> jsp1 </title> </head> <body bgcolor="#ffffc0"> <h1> 下面显示的是自定义标签中的内容 </h1> <br><br> <mytag:helloworld></mytag:helloworld> <br> </form> </body> </html> 3.2.编写web.xml < !—web.xml的源码 -- > <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XMLSPY v5 rel. 4 U (http://www.xmlspy.com) by Williams (501) --> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> <taglib> <taglib-uri>/helloworld</taglib-uri> <taglib-location>/WEB-INF/helloworld.tld</taglib-location> </taglib> </web-app> 3.3 编写tld文件 < !—helloworld.tld的源码 -- > <?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" |