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

80酷酷网    80kuku.com

  

  十一、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);

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

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



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: