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

JSP/Servlet: TagSupport 类别

如果在自订标签库时,并不需要对标签本体作处理,则您可以继承TagSupport类别,TagSupport类别实作了Tag与 IterationTag介面,IterationTag介面则是Tag介面的子介面,TagSupport类别替您预先实作了这两个介面中的方法,在继承TagSupport之后,您视需要来改写当中的一些方法(这是 Default Adapter模式)。
Tag介面中与标签处相关的方法主要有:doStartTag()、doEndTag()。其中doStartTag()方法是遇到标签开始时会呼叫的方法,其合法的回传值是EVAL_BODY_INCLUDE与SKIP_BODY,前者表示将显示标签间的本体文字,后者表示不显示标签间的本体文字;doEndTag()方法是在遇到标签结束时呼叫的方法,其合法的回传值是EVAL_PAGE与SKIP_PAGE,传回前者表示处理完标签后继承执行以下JSP网页,传回后者则表示不处理接下来的JSP网页。
IterationTag介面继承Tag介面,在标签处理上增加了doAfterBody(),这个方法是在显示完标签间文字本体之后呼叫的,其合法的回传值有EVAL_BODY_AGAIN与SKIP_BODY,如果传回前者,则会再显示一次标签间的文字本体,传回后者则继承执行标签处理的下一步。
TagSupport类别实作了Tag与IterationTag介面,其预设的回传值是:doStartTag()回传 SKIP_BODY、doAfterBodyTag()回传SKIP_BODY、doEndTag()回传EVAL_PAGE。所以在继承 TagSupport之后,如果没有改写任何的方法,则在标签处理上执行的顺序是:
doStartTag() -> 不显示本体文字 -> doEndTag() -> 执行接下来的JSP网页
如果您改写了doStartTag(),则您必须指定回传值,如果指定了EVAL_BODY_INCLUDE,则预设会照以下的顺序执行:
doStartTag() -> 显示本体文字 -> doAfterBodyTag()->doEndTag()->执行接下来的JSP网页
简单的说,如果您继承了TagSupport并改写了其中的一些方法,则您必须指定方法合法的回传值,如果不改写,则会有其预设的回传值,/以下作个流程整理:
如果您在处理标签时,引用了一些资源,例如档案I/O或是资料库连结,则您可以改写release()方法,这个方法会在doEndTag()之后执行,您可以在处理完标签之后用它来释放先前所使用到的资源。
下面这个程式简单的示范如何使用自订标签来对网页内容作一些保护:
GuardTag.java
package onlyfun.caterpillar;
import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class GuardTag extends TagSupport {
public int doStartTag() throws J


相关文档:

JSP页面中无法显示CSS中的背景图片

jsp页面调用 <link type="text/css" rel="stylesheet" href="css/style.css"/>样式表
其他样式都可以再页面正常显示
.button-qingchu{background:url(images/qingchu.jpg); width:70px; height:30px; border:0px;} 像这样的背景图片样式就显示不出图片是什么问题! Myeclipse 6.5
在html中都可以显示 在jsp中显示 ......

简单的jsp分页

<%@ page import="java.sql.*,java.io.*" %>
<%
int intPage;//待显示的页码
int pageSize;//每页显示的条目
int pageCount;//总页数
int rowCount;//记录总数
String strPage;//获取待显示页码
pageSize=12;//设置每页显示条数
Connection con;//连接对象
Statement stmt;//数据库对象
Re ......

<jsp:directive.page import="zero.space.ch03.BookBean"/> 
   相当于 
   <%@ page import="zero.space.ch03.BookBean" %> 
   但是也有区别:两个用法的作用范围不同,<%@ page import="zero.space.ch03.BookBean" %> 可用于多个页面内而<jsp:dir ......

js,jsp部分代码

<%@ page language="java" pageEncoding="UTF-8"%>
<%@ include file="config/config_SelfHelp.jsp"%>
<%@ include file="sh_Bookmark_Data.jsp"%>
<html xmlns:v>
 <head>
  <title>我的书签</title>
  
<style type="text/css">
tabl ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号