JSP 自定义标签
自定义标签是用户定义的JSP语言元素。当JSP页面包含一个自定义标签时将被转化为servlet,标签转化为对被 称为tag handler的对象的操作,即当servlet执行时Web container调用那些操作。
创建”Hello”标签
创建一个自定标签,格式为:
<xf:Hello />
处理标签的Java类HelloTag
package com.xf.common.tag;
import java.io.IOException;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.SimpleTagSupport;
/**
*
* @author 董晓峰
* @datetime 2017年9月27日 下午2:26:35
* @editnote
*
*/
public class HelloTag extends SimpleTagSupport {
public void doTag() throws JspException, IOException {
JspWriter out = getJspContext().getOut();
out.println("Hello World!");
}
}
重写doTag方法后,还需创建标签库
<?xml version="1.0" encoding="UTF-8" ?>
<taglib >
<tlibversion>1.0</tlibversion>
<jspversion>1.1</jspversion>
<shortname>xf Lib</shortname>
<uri>/xiaofeng</uri>
<info>TagLib</info>
<tag>
<name>hello</name>
<tag-class>com.xf.common.tag.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
上面这个xml文件一般放在WEB-INF下
最后是在jsp中使用自定义标签
<%@ taglib uri="/xiaofeng" prefix="xf"%>
<html>
<head>
<title>一个自定义标签</title>
</head>
<body>
<xf:Hello/>
</body>
</html>
输出结果为:Hello World!