RSS
热门关键字:  csf  c语言  CSS  数据结构  asp
当前位置 : 主页»JAVA»JAVA基础»

解析JSP中标签库

来源:互联网 作者:佚名 时间:07-02 02:09:39 浏览:

标签库Taglib

标签被定义和分布在一个称为标签库的结构中,一个标签库是由元信息和类组成的集合:
1.标签处理器:实现定制标签功能的Java类。
2.标签附加信息(TEI):向JSP容器提供边辑以确认标签属性和创建变量的类。
3.标签库描述器(TLD):描述单个标签和整个标签库属性的XML文档。

标签处理器和标签附加信息需要定位在JSP容器类载入器可以找到的地方。标签库描述器可在URL指定的符意位置。JSP1.1规范要求JSP容器接受一个打包成因定结构的JAR文件的标签库。TLD必须是/META-INF目录中名为taglib.tld的文件,JAR文件则复制到/WEB-INF/lib目录下。

一、标签实现

1.开发步骤
a.定义标签的名字、属性、声明的变量和标签体的内容。
b.编写标签库描述器TLD。
c.编写标签处理器。
d.在JSP页面中使用标签。

2.JSP页面在JSP容器中的转换步骤:
JSP页面存在三种形式:jsp文件、java文件和class文件。
a.指令元素 ,有三种可能取值。


e4.调用doAfterBody()方法,将体内体内容写入JspWriter,可如下实现:
JspWriter out=bodyContent.getEnclosingWriter();
out.println(bodyContent.getString());//bodyContent.writeOut(out);
bodyContent.clear();
e5.doAfterBody()方法返回两种可能:
返回EVAL_BODY_TAG时,再对标签体进行评估,这是数组和枚举被循环处理的典型情况。
返回SKIP_PAGE时,继续页面的其余部份。
e6.体内容完成,因此创建它的过程被反向:
调用pageContent.popBody()方法检索前面的JspWriter对象。
将写入者设置回out隐含对象。
f.标签体被评估或忽视后调用doEndTag()方法,允许标签处理器像输出流发回内容。
返回EVAL_PAGE则页面的其余部分被评估;
返回SKIP_PAGE则servlet代码立即从_jspService()中返回。
g. 此时体的内容在受保护的bodyContent对象中仍然可用。
可以将它写入servlet输出流中:
JspWriter out=pageContext.getOut();
out.println(bodyContent.getString());
或者
bodyContent.WriteOut(pageContext.getOut());

6.标签附加信息类


四、标签指令

taglib指令元素的目的是指定TLD的位置,设置在页面上与标签区分开来的一个短别名。
语法:
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论
立即注册账号