jsp 自定义标签

阅读更多

jsp自定义标签原理:

1、在JSP中引入标签库

    <%@taglib prefix="mytag" uri="/hello"%>

2、在JSP中使用标签库

    

3、Web容器根据第二个步骤中的prefix,获得第一个步骤中声明的taglib的uri属性值

4、Web容器根据uri属性在web.xml找到对应的元素

5.从元素中获得对应的元素的值

6.Web容器根据元素的值从WEB-INF/目录下找到对应的.tld文件

7.从.tld文件中找到与tagname对应的元素

8.凑元素中获得对应的元素的值

9.Web容器根据元素的值创建相应的tag handle class的实例

10. Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理。


jsp自定义标签过程详解:
hellp.jsp




hello


<%@taglib prefix="mytag" uri="/hello"%>
hello.jsp


 web.xml











        /hello

        /WEB-INF/hello.tld



 hello.tld







   1.0

   1.2

   mytag

   

       hello

       com.mixian.tag.HelloWorldTag

       empty

   

 HelloWorldTag.java

package com.mixian.tag;

import java.io.IOException;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspTagException;
import javax.servlet.jsp.tagext.TagSupport;

public class HelloWorldTag extends TagSupport{

	/**
	 * @myTag
	 */
	private static final long serialVersionUID = -7335983837844318045L;

	@Override
	public int doEndTag() throws JspException {
		return EVAL_BODY_INCLUDE;
	}

	@Override
	public int doStartTag() throws JspException {
		try {
		      pageContext.getOut().write("Hello World");
		    }
		    catch (IOException ex) {
		      throw new JspTagException("错误");
		    }
		    return EVAL_PAGE;
		  }
	}

 主要注意的地方就是hello.tld 要放在/WEB-INF/下面

 

 

你可能感兴趣的:(jsp 自定义标签)