(二)创建自定义标签TagSupport类步骤

 创建自定义标签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);

 

 

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页