易截截图软件、单文件、免安装、纯绿色、仅160KB

JSP自定义标签学习(高级)

JSP自定义标签学习(高级)
关键字: 自定义标签
BodyTag接口
    接口BodyTag的实现类,它是负责操作主体内容(bodyContent).
定义方法:public void doInitBody();
    public int doAtferBody();
提示,那些在doStartTag()方法之后被调用的方法依赖于doStartTag()方法返回值并且看在JSP页面上是否自定义Action元素,而不是怎样在TLD文件中去申明
    在TLD文件中, 若<body-content>empty</body-content>的话,doStartTag()方法只能返回SKIP_BODY
    body-content有三个可选值:empty , JSP , tagdependent
    若没有设置的话,那么doStartTag()可以返回SKIP_BODY, EVAL_BODY_INCLUDE, or EVAL_BODY_BUFFERED.
返回值的说明:
    若SKIP_BODY返回的情况下,body不会被evaluated并且doEndTag()被调用;
    若EVAL_BODY_INCLUDE 返回,并且自定义action元素不为空的时候,那么doInitBody(),setBodyContent()不会被调用,而body evaluated并且"通过"当前的out对象,还有当action元素为空的时候,只有doStartTag(),doEndTag();
   
    当EVAL_BODY_BUFFERED 返回,并且自定义的action元素不为空的时候,setBodyContent(),doInitBody()被调用,body被evaluated,doAfterBody()被调用,直到大于0次迭代后,doEndTag()才被调用,还有当action元素为空的时候,只有doStartTag(),doEndTag();
主题内容
   1.自定义标记通常需要操控自己的主体内容,例如数据库查询需要将其主题内容解释为SQL
       
    2.工作方法
    servlet容器包含BodyContent对象栈,servlet容器在doStartTag()方法之后调用PageContext.pushBody(),就是说把当前的主体内容推入栈中,其中out变量重定向到当前的主体内容实例主题内容,保留一个到JspWriter对象的引用,即前一个输出,JspWriter将数据写入响应流中.这样就有效地创建了写入器栈
    servlet容器是在调用标记的doAfterBody和doEndTag方法之间调用PageContent.popBody()方法的
注意请不要在doEndTag()后面去访问BodyContent,因为servlet容器在调用标记处理程序的doEndTag()方法为止,servlet容器可能已经再次使用了该标记的主题内容,使用doEndTag方法访问自己主体内容的标记,可能


相关文档:

jsp 采集 小偷程序

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.net.URL"%>
<%
URL url = new URL("http://www.itpub.net");//建立URL对象,并实例化为url,获得要抓取的网页地址
BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(),"GB2312")); ......

Jsp中的自定义标签由浅到深详细讲解

一、基本概念: 1.标签(Tag): 标签是一种XML元素,通过标签可以使JSP网页变得简洁并且易于维护,还可以方便地实现同一个JSP文件支持多种语言版本。由于标签是XML元素,所以它的名称和属性都是大小写敏感的 2.标签库(Tag library): 由一系列功能相似、逻辑上互相联系的标签构成的集合称为标签库。 3.标签库描述文件(Tag Libr ......

【转】在JSP/Servlet 中编码格式的设置问题

在JSP/Servlet 中主要有以下几个地方可以设置编码,pageEncoding="UTF-8"、contentType="text/html;charset=UTF -8"、request.setCharacterEncoding("UTF-8")和response.setCharacterEncoding ("UTF-8"),其中前两个只能用于JSP中,而后两个可以用于JSP和Servlet中。
1、pageEncoding="UTF-8"的作用是设置JSP编译成Servlet ......

JSP自定义标签试验[转载]


一、概述
       JSP中有一块重要的技术:自定义标签(Custom Tag),最近这几天在学习Struts的时候发现Struts中使用了很多自定义标签,如html、bean等。所以我就做了个简单的试验,学习一下这种技术。
       首先介绍一下这种技术吧!
1.优 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号