由浅到深详细讲解JSP自定义标签(3)

十三、如何在Web应用启动时装载静态文本
1 、创建继承了HttpServlet类的子类,在web.xml中配置这Servlet时设置load-on-startup属性:
someclass
somepackage.SomeClass1
2 、在这个Servletinit()方法中创建java.util.Properties
3 、获取当前Web应用的ServletContext对象
4 、将WEB-INF目录下的属性文件读入到输入流InputStream中:
InputStream in = context.getResourceAsString("WEB-INF/someproperties.properties");
5 、将输入流加载到属性对象中
ps.load(in);
6 、将属性对象保存到上
context.setAttribute("attributeName",ps);
十四、如何创建标签处理类
1 、引入必需的资源
import javax.servlet.jsp.*;
import javax.servlet.http.*;
import java.util.*;
import java.io.*;
2 、继承TagSupport类并覆盖doStartTag()/doEndTag()方法
3 、从ServletContext对象中获取java.util.Properties对象
4 、从Properties对象中获取key对应的属性值
5 、对获取的属性进行相应的处理并输出结果
十五、创建标签库描述文件(Tag Library Descriptor)
1 、标签库描述文件,简称TLD,采用XML文件格式,定义了用户的标签库。TLD文件中的元素可以分成3类:
A. 标签库元素
B.
标签元素
C.
标签属性元素
2 、标签库元素用来设定标签库的相关信息,它的常用属性有:
A.shortname :指定Tag Library默认的前缀名(prefix)
B.uri :设定Tag Library的惟一访问表示符。
3 、标签元素用来定义一个标签,它的常见属性有:
A.name :设定Tag的名字;
B.tagclass :设定Tag的处理类;
C.bodycontent :设定标签的主体(body)内容。
1)empty :表示标签中没有body
2)JSP
:表示标签的body中可以加入JSP程序代码;
3)tagdependent
:表示标签中的内容由标签自己去处理。
4 、标签属性元素用来定义标签的属性,它的常见属性有:
A.name :属性名称;
B.required
:属性是否必需的,默认为false
C.rtexprvalue
:属性值是否可以为request-time表达式,也就是类似于< %=…% >的表达式。
十六、在Web应用中使用标签
1 、如果Web应用中用到了自定义JSP标签,则必须在web.xml文件中加入元素,它用于声明所引用的标签所在的标签库
/sometaglib
/WEB-INF/someTLD.tld
2 、设定Tag Library的惟一标示符,在Web应用中将根据它来引用Tag Libray
3 、指定和Tag Library对应的TLD文件的位置;
4 、在JSP文件中需要加入<% @ taglib% >指令来声明对标签库的引用。例如:
<% @ taglib prefix = “somePrefix” uri = "/someuri" %>
5 prefix表示在JSP网页中引用这个标签库的标签时的前缀,uri用来指定Tag Library的标识符,它必须和web.xml中的属性保持一致。

你可能感兴趣的:(java,jsp,标签,自定义,休闲)