您的位置:首页 > 其它

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

2011-10-14 15:32 162 查看

创建自定义标签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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: