1.在WEB-INF目录下新建message.properties属性文件
文件内容为“key-value”对,添加测试内容如下:title=hello world
body=hello taglib
2.定义初始化类TaglibInit,用于加载属性文件
package com.douyongtao.servlet;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
import javax.servlet.ServletConfig;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class TaglibInit extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
Properties ps = new Properties();
try {
ServletContext context = config.getServletContext();
InputStream is = context.getResourceAsStream("/WEB-INF/message.properties");
ps.load(is);
is.close();
context.setAttribute("ps", ps);
} catch (IOException e) {
e.printStackTrace();
}
}
}
3.在web.xml中配置该初始化类
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee ;
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>TaglibInit</servlet-name>
<servlet-class>com.douyongtao.servlet.TaglibInit</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
4.定义标签处理类MyTag
package com.douyongtao.tag;
import java.io.IOException;
import java.util.Properties;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.TagSupport;
public class MyTag extends TagSupport {
private String key;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
@Override
public int doEndTag() throws JspException {
Properties ps = (Properties) this.pageContext.getAttribute("ps",
PageContext.APPLICATION_SCOPE);
String message = ps.getProperty(key);
try {
this.pageContext.getOut().println(message);
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
}
5.在WEB-INF目录下创建标签库描述文件MyTag.tld
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<taglib>
<tlibversion>1.0</tlibversion>
<jspversion>1.2</jspversion>
<shortname>myTag</shortname>
<uri>/myTag</uri>
<tag>
<name>message</name>
<tagclass>com.douyongtao.tag.MyTag</tagclass>
<bodycontent>empty</bodycontent>
<attribute>
<name>key</name>
<required>true</required>
</attribute>
</tag>
</taglib>
6.创建index.jsp文件并引入标签库,然后插入标签
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/myTag" prefix="hellotag" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></head>
<body>
<p>
<hellotag:message key="title"/><br/>
<hellotag:message key="body"/>
</p>
</body>
</html>
7.部署应用,查看运行效果,如果页面输出一下内容,恭喜你,你成功了
hello world
hello taglib