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

自己开发的标签没有通用性,我们基本上是使用标签,使用已经开发好的标签,例如: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%>使用标签;	

你可能感兴趣的:(07---jsp标签编程01(认识标签))