javax doendtag 返回整数int代表的最大整数什么意思

【图文】JSP第11章_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
上传于||文档简介
&&j​a​v​a​E​E​_​o​r​a​c​l​e​官​方​教​材
大小:417.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
您的访问请求被拒绝 403 Forbidden - ITeye技术社区
您的访问请求被拒绝
亲爱的会员,您的IP地址所在网段被ITeye拒绝服务,这可能是以下两种情况导致:
一、您所在的网段内有网络爬虫大量抓取ITeye网页,为保证其他人流畅的访问ITeye,该网段被ITeye拒绝
二、您通过某个代理服务器访问ITeye网站,该代理服务器被网络爬虫利用,大量抓取ITeye网页
请您点击按钮解除封锁&Java程序员从笨鸟到菜鸟之(二十)jsp自定义标签 - 开源中国社区
当前访客身份:游客 [
当前位置:
一、基本概念
标签是一种元素,通过标签可以使网页变得简洁并且易于维护,还可以方便地实现同一个文件支持多种语言版本。由于标签是元素,所以它的名称和属性都是大小写敏感的。
由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。
3、标签库描述文件
标签库描述文件是一个文件,这个文件提供了标签库中类和中对标签引用的映射关系。它是一个配置文件,和是类似的。
4、标签处理类
标签处理类是一个类,这个类继承了或者扩展了接口,通过这个类可以实现自定义标签的具体功能。
二、自定义标签的格式
1、为了使到容器能够使用标签库中的自定义行为,必须满足以下两个条件:
&%&@&taglib&prefix=”someprefix”
1)从一个指定的标签库中识别出代表这种自定义行为的标签; 2)找到实现这些自定义行为的具体类。
第一个必需条件-找出一个自定义行为属于那个标签库-是由标签指令的前缀属性完成,所以在同一个页面中使用相同前缀的元素都属于这个标签库。每个标签库都定义了一个默认的前缀,用在标签库的文档中或者页面中插入自定义标签。所以,你可以使用除了诸如它们都是在白皮书中指定的保留字之类的前缀。&
uri属性满足了以上的第二个要求。为每个自定义行为找到对应的类。这个包含了一个字符串,容器用它来定位文件。在文件中可以找到标签库中所有标签处理类的名称。
2、当应用程序启动时,容器从文件夹的目录结构的搜索所有以结尾的文件。也就是说它们会定位所有的文件。对于每个文件,容器会先获取标签库的,然后为每个文件和对应的创建映射关系。
在页面中,我们仅需通过使用带有属性值的标签库指令来和具体的标签库匹配。
三、自定义标签的处理过程
1、在中引入标签库
&%&@&taglib&prefix=”taglibprefix”&uri=”tagliburi”&%&
2、在中使用标签库标签
3、容器根据第二个步骤中的,获得第一个步骤中声明的的属性值
4、容器根据属性在找到对应的元素
5.从元素中获得对应的元素的值&
6.容器根据元素的值从目录下找到对应的文件
7.从文件中找到与对应的元素&
8.凑元素中获得对应的元素的值&
9.容器根据元素的值创建相应的的实例&
10.&Web容器调用这个实例的方法完成相应的处理。
四、创建和使用一个的基本步骤
1、创建标签的处理类
2、创建标签库描述文件
3、在文件中配置元素&在文件中引人标签库
五、类简介
1、处理标签的类必须扩展。
2、类的主要属性:
A.parent属性:代表嵌套了当前标签的上层标签的处理类;
B.pageContex属性:代表应用中的对象;
3、容器在调用或者方法前,会先调用和方法,设置和。因此在标签处理类中可以直接访问变量;
4、在的构造方法中不能访问成员变量,因为此时容器还没有调用方法对进行初始化。
六、处理标签的方法
1、类提供了两个处理标签的方法:
public&int&doStartTag()&throws&JspException public&int&doEndTag()&throws&JspException
2、:但容器遇到自定义标签的起始标志,就会调用方法。
doStartTag()方法返回一个整数值,用来决定程序的后续流程。
A.Tag.SKIP_BODY:表示之间的内容被忽略;
B.Tag.EVAL_BODY_INCLUDE:表示标签之间的内容被正常执行。
3、:但容器遇到自定义标签的结束标志,就会调用方法。方法也返回一个整数值,用来决定程序后续流程。
A.Tag.SKIP_PAGE:表示立刻停止执行网页,网页上未处理的静态内容和程序均被忽略任何已有的输出内容立刻返回到客户的浏览器上。
B.Tag_EVAL_PAGE:表示按照正常的流程继续执行网页。
下面来看一个实例:
1、修改web.xml文件,增加自定义标签支持。
&jsp-config&
&taglib-uri&/tld/helloworld&/taglib-uri&
&taglib-location&/WEB-INF/tlds/helloworld.tld&/taglib-location&
&/jsp-config&
2、创建标签库TLD文件&tlds\helloworld.tld&。
&?xml version=&1.0& encoding=&UTF-8&?&
&!DOCTYPE taglib PUBLIC &-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN&
&/dtd/web-jsptaglibrary_1_2.dtd&&
&tlib-version&1.0&/tlib-version&&!-- 标签库的版本 --&
&jsp-version&1.2&/jsp-version&&!-- 这个标签库要求的JSP规范版本 --&
&short-name&mytag&/short-name&&!-- JSP页面编写工具可以用来创建助记名的可选名字 --&
&name&helloworld&/name&&!-- 唯一标签名 --&
&tag-class&com.yd.mytag.HelloWorldTag&/tag-class&&!-- 标签HelloWorldTag类的完全限定名 --&
&body-content&empty&/body-content&&!-- 正文内容类型 --&
这里注意:web.xml和xxx.tld这两个XML文件的头信息的版本匹配很重要,否则会导致页面报错找不到标签&。
3、创建标签处理程序类&HelloWorldTag(重写doStartTag和doEndTag方法)。
package com.yd.
import java.io.IOE
import javax.servlet.jsp.JspE
import javax.servlet.jsp.JspTagE
import javax.servlet.jsp.tagext.TagS
* TagSupport与BodyTagSupport的区别:
* 主要看标签处理类是否要读取标签体的内容和改变标签体返回的内容,如果不需要就用TagSupport,否则就用BodyTagSupport
* 用TagSupport实现的标签,都可以用BodyTagSupport来实现,因为BodyTagSupport继承了TagSupport
public class HelloWorldTag extends TagSupport {
private static final long serialVersionUID = 3531070L;
public int doStartTag() throws JspException {//这个方法不用所以直接返回值
return EVAL_BODY_INCLUDE;
public int doEndTag() throws JspException {//重点在这个方法上
pageContext.getOut().write(&Hello World!&);//标签的返回值
} catch (IOException ex) {
throw new JspTagException(&错误&);
return EVAL_PAGE;
doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的返回值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示标签间的文字,后者表示不显示标签间的文字。
doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的返回值是EVAL_PAGE与SKIP_PAGE,前者表示处理完标签后继续执行以下的JSP网页,后者是表示不处理接下来的JSP网页。
doAfterBody(),这个方法是在显示完标签间文字之后呼叫的,其返回值有EVAL_BODY_AGAIN与SKIP_BODY,前者会再显示一次标签间的文字,后者则继续执行标签处理的下一步。
EVAL_BODY_INCLUDE:把Body读入存在的输出流中,doStartTag()函数可用。
EVAL_PAGE:继续处理页面,doEndTag()函数可用。
SKIP_BODY:忽略对Body的处理,doStartTag()和doAfterBody()函数可用。
SKIP_PAGE:忽略对余下页面的处理,doEndTag()函数可用。
EVAL_BODY_BUFFERED:申请缓冲区,由setBodyContent()函数得到的BodyContent对象来处理tag的body,如果类实现了BodyTag,那么doStartTag()可用,否则非法。
原文链接:
共有0个评论
更多开发者职位上
有什么技术问题吗?
长平狐的其它问题
类似的话题JAVA WEB学习笔记(五)-自定义JSP标签-中国学网-中国IT综合门户网站-提供健康,养生,留学,移民,创业,汽车等信息
JAVA WEB学习笔记(五)-自定义JSP标签
来源:互联网 更新时间: 20:18:37 责任编辑:李志喜字体:
一、基本概念:*************************************************************************************
相关文章:
<a href="/cse/search?q=<inputclass="s-btn"type="submit"text="<inputclass="s-btn"type="submit"text="<buttonhidefocusclass="s-btnjs-ask-btn"text="我要提问
<a href="/cse/search?q=我要留言技术领域:
你已经自动关注本知识库了哦!
确定要取消收藏吗?

我要回帖

更多关于 doendtag 的文章

 

随机推荐