创建自定义标签TagSupport类步骤
一、创建来存放要替换网页中自定义JSP标签的静态文本的properties文件
此步骤可省略但建议使用。因为可在自定标签处理类中使用Properties类获取静态或者说是固定的JSP标签或Html标签,并用值来替换相应的值
二、创建一个HttpServlet类用于在Web应用启动时加载上面创建的静态文本并在web.xml中添加相应配置
新建一个类继承(extend)HttpServlet
public class PropertiesServlet extends HttpServlet重写init方法()
在此方法中
1.新建Properties类
Properties properties=new Properties();
2.获取ServletContext
Javax.servlet.ServletContext context=this.getServletContext();
3.将属性文件以输入流的形式读入到某个输入流对象中
InputStream inputStream=context.getResourceAsStream("WEB-INF/classes/displaytag.properties");
4.将输入流对象加载到Properties对象中;
properties.load(inputStream);
5.将Properties对象保存到ServletContext对象中
Context.setAttribute("tagProperties",properties);
6.加Web.xml文件中加入相应配置信息
<servlet>
<servlet-name>propertiesServlet</servlet-name>
<servlet-class>com.myapp.util.PropertiesServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>propertiesServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
三、创建自定义标签处理类
新建一个类继承(extend)TagSupport
public class MyDemoTag extends TagSupport重写doStartTag()、doEndTag(),Release()方法
1.在这此方法体中可以经过以下语句获得上面加载的属性值
Properties properties=(Properties)pageContext.getServletContext().getAttribute("tagProperties");或者
通过与上面的提到的init方法一样获取静态文本属性值。如下面的示例代码
InputStream in=pageContext.getServletContext().getResourceAsStream("WEB-INF/classes/displaytag.properties");
Properties properties=new Properties();
properties.load(in);