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

本文详细介绍了如何在JSP中开发自定义标签,包括定义简单标签、编写支持类、创建标签描述文件、配置标签库及在JSP中使用标签等步骤。重点突出标签开发流程与实践应用。
自己开发的标签没有通用性,我们基本上是使用标签,使用已经开发好的标签,例如: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%>使用标签;	

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bzuld

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值