JSP自定义标签(九到十六)

来源:互联网 发布:淘宝关键词搜索查询 编辑:程序博客网 时间:2024/06/11 10:03
 

九、如何创建包含JSP网页静态文本的文件

1、使用java.util.Properties类来存放要替换网页中自定义JSP标签的静态文本;

2、Properties类代表了一系列属性的集合,其实例既可以被保存到流中,也可以从流中加载。这些文本以key/value的形式存放在WEB-INF目录下,例如key=value,在属性列表中这些key/value都是String类型的。

十、Properties类的常用API

1、setProperty(String key, String value):调用Hashtable类的put方法添加属性;

2、getProperty(String key):获取属性列表中key对应的属性值;

3、load(InputStream in):从输入流对象InputStream中读取属性列表(Properties list);

4、store(OutputStream out,String coMMent):使用适当的格式将属性列表的属性对写入输出流对象中,默认使用ISO-88590-1编码格式,以行的方式处理输入。属性的key/value之间以”=、:”配对,以回车、换行分隔key/value配对。

十一、ServletContext类的常用API

1、getContext(String uripath):返回服务器中uripath所代表的ServletContext对象;

2、getInitParameter(String name):返回ServletConfig对象中name参数的值;

3、getMineType(String file):返回file参数代表的文件的MIME类型;

4、getRequestDispatcher(String path):返回path代表的RequestDispacher对象;

5、getResourceAsStream(String path):以输入流的形式返回path对应的资源,在输入留中对象可以为任意形式的数据,path参数必须以“/”开始且相对于Context Root。

十二、如何使用ServletContxt读取并保存属性文件

1、创建java.util.Properties类对象;

2、获取ServletContext对象;

3、将属性文件以输入流的形式读入到某个输入流对象中;

4、将输入流对象加载到Properties对象中;

5、将Properties对象保存到ServletContext对象中。

十三、如何在Web应用启动时装载静态文本

1、创建继承了HttpServlet类的子类,在web.xml中配置这Servlet时设置load-on-startup属性:

someclass
somepackage.SomeClass1

2、在这个Servlet的init()方法中创建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);

#p#

十四、如何创建标签处理类

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中的属性保持一致。

原创粉丝点击