07---jsp标签编程01(认识标签)

来源:互联网 发布:如果二战中国投降知乎 编辑:程序博客网 时间:2024/06/07 00:51
自己开发的标签没有通用性,我们基本上是使用标签,使用已经开发好的标签,例如:JSTL或者是struts中的标签;这里学习标签开发这是为了便于理解标签;·定义一个简单的标签:如果现要定义个标签,我们必须继承javax.servlet.jsp.tagext.TagSupport类;定义标签的支持类:HelloTag.java在标签开发之中,最麻烦的部分就是返回值,下面先给出一个简单的返回值,由于现在定义的是一个没有标签体的标签,所以表示标签中的其他内容不再执行了;之前在开发Servlet的时候曾经配置过了一个Servlet的开发包,但现在的标签的支持类并不在servlet包之中,在tomcat的lib目录下找到jsp-api.jar,将其放到C:\Program Files\Java\jdk1.6.0_18\jre\lib\ext中,或者将该jar包配置到ClassPath中;(注意:还需要将el_api.jar包也配置到classpath或者放到上面的文件夹中)package tag.lid.demo;import javax.servlet.jsp.*;import javax.servlet.jsp.tagext.*;public class HelloTag extends TagSupport{//覆写父类的方法---标签开始例如<a>这就是标签开始public int doStartTag() throws JspException{JspWriter out=super.pageContext.getOut();try{out.println("<h1>Hello World!!!</h1>");}catch(Exception e){}return TagSupport.SKIP_BODY;}}编译以上代码;但是只靠一个标签的支持类本身是无法完成 全部功能的,还需要定义个一标签描述文件----WEB-INF/hellotab.tld;·标签描述文件<?xml version="1.0" encoding="UTF-8"?><taglib xmlns="http://java.sun.com/xml/ns/j2ee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_1.xsd"version="2.1"><tlib-version>1.0</tlib-version><!--表示标签库的版本--><short-name>firsttag</short-name><!--为标签库在TLD中的描述名称--><tag><name>hello</name><!--表示标签在JSP中的使用名称--><tag-class>tag.lid.demo.HelloTag</tag-class><!--表示这个标签所指向的class文件--><body-content>empty</body-content><!--表示标签体内容为空--></tag></taglib>此时,一个标签的配置文件就完成了,之后就需要在一个JSP文件之中使用此标签到此可以就完成了功能,但是这些功能是直接有标签的支持类完成的,而只有通过*.tld文件才可以使用这个标签的支持类,当然在标签的开发之中,也可以将所有的标签的描述文件直接在web.xml文件中进行配置;    <jsp-config>    <taglib>    <taglib-uri>lid_hello</taglib-uri>    <taglib-location>/WEB-INF/hellotag.tld</taglib-location>    </taglib>    </jsp-config>是在web.xml文件之中为tld的文件做了一个映射,映射的名称是lid_hello,以后在jsp界面中就可以直接通过lid_hello进行访问了;<%@ page contentType="text/html" pageEncoding="gbk"%><%@ taglib prefix="mytab" uri="lid_hello"%><html><head><title>这是测试</title></head><body><h3><mytab:hello/></h3></body></html>标签的操作之中文件配置的非常多,需要标签的支持类,标签的描述文件,如果需要还可以在web.xml文件之中配置,还需要在jsp中进行引入;在一个jsp文件之中,基本功能:判断、输出;·小结:标签可以简化jsp中的scriptlet;标签需要*.tld文件的支持,之后使用<%@ taglib%>使用标签;

原创粉丝点击