`

JSP自定义标签开发流程

阅读更多
一、概述
       jsp(SUN企业级应用的首选)中有一块重要的技术:自定义标签(Custom Tag),最近这几天在学习Struts的时候发现Struts中使用了很多自定义标签,如html、bean等。所以我就做了个简单的试验,学习一下这种技术。
       首先介绍一下这种技术吧!
1.优点:
取代了jsp(SUN企业级应用的首选)中的Java程序,并且可以重复使用,方便不熟悉Java编程的网页设计人员。
2.开发流程:
(1)       编写jsp(SUN企业级应用的首选),在jsp(SUN企业级应用的首选)中使用自定义标签。
(2)       在web.xml(标准化越来越近了)中指定jsp(SUN企业级应用的首选)中使用的标签的.tld(标签库描述文件)文件的位置。
(3)       .tld文件中指定标签使用的类。
3. 自定义标签的分类:
(1)       简单标签:如< mytag:helloworld/>
(2)       带属性标签:如<imytag:checkinput dbname = “<myBean.getDBName()>”/>
(3)       带标签体的标签:
在自定义标签的起始和结束标签之间的部分为标签体(Body)。Body的内容可以是jsp(SUN企业级应用的首选)中的标准标签,也可以是HTML、脚本语言或其他的自定义标签。
<mytag:checkinput dbname = “<myBean.getDBName()>”>
      <mytag:log message=”Table Name”>
<mytag:checkinput />
(4)       可以被Script使用的标签:
定义了id和type属性的标签可以被标签后面的Scriptlet使用。
<mytag:connection id = “oraDB” type = “DataSource” name = “Oracle(大型网站数据库平台)”>
<%oraDB.getConnection(); %>

4.接口及其他
实际上,自定义标签的处理类实现了Tag Handler对象。jsp(SUN企业级应用的首选)技术在javax.servlet.jsp(SUN企业级应用的首选).tagext中提供了多个Tag Handler接口,jsp(SUN企业级应用的首选)1.2中定义了Tag、BodyTag、IterationTag接口,在jsp(SUN企业级应用的首选)2.0中新增了SimpleTag接口。jsp(SUN企业级应用的首选)还提供了上述接口的实现类TagSupport、BodyTagSupport和SimpleTagSupport(SimpleTagSupport只在jsp(SUN企业级应用的首选)2.0中才有)。BodyTagSupport实现了BodyTag、Tag和IterationTag接口。

接口及其方法
Tag接口
方法

SimpleTag
dotage

Tag
doStartTag,doEndTag,release

IterationTag
doStartTag,doAfterTag,release

BodyTag
doStartTag,doEndTag,release,doInitBody,doAfterBody


下表引自Sun的jsp(SUN企业级应用的首选)在线教程。
Tag Handler Methods

Tag Handler Type
Methods

Simple
doStartTag, doEndTag, release

Attributes
doStartTag, doEndTag, set/getAttribute1...N, release

Body, Evaluation and No Interaction
doStartTag, doEndTag, release

Body, Iterative Evaluation
doStartTag, doAfterBody, doEndTag, release

Body, Interaction
doStartTag, doEndTag, release, doInitBody, doAfterBody, release


下表中的EVAL是evaluate的缩写,意思是:评价, 估计, 求...的值,在下列的返回值中的意思是执行。
返回值
意义

SKIP_BODY
表示不用处理标签体,直接调用doEndTag()方法。

SKIP_PAGE
忽略标签后面的jsp(SUN企业级应用的首选)内容。

EVAL_PAGE
处理标签后,继续处理jsp(SUN企业级应用的首选)后面的内容。

EVAL_BODY_BUFFERED
表示需要处理标签体。

EVAL_BODY_INCLUDE
表示需要处理标签体,但绕过setBodyContent()和doInitBody()方法

EVAL_BODY_AGAIN
对标签体循环处理。

本文来源于 WEB开发网 原文链接:http://www.cncms.com.cn/jsp/8461.htm
分享到:
评论

相关推荐

    JSTL 以及自定义标签开发相关

    JSTL 以及自定义标签开发相关 JSTL 核心标签库标签共有13个,功能上分为4类: 1.表达式控制标签:out、set、remove、catch 2.流程控制标签:if、choose、when、otherwise 3.循环标签:forEach、forTokens 4.URL...

    JSP宝典(PDF)

    JSP宝典PDF电子版下载,JSP宝典全书比较全面地介绍了有关JSP的相关知识,并通过大量实例,循序渐进地教会读者如何构架和开发JSP动态网站、自定义标签开发和标准标签库JSTL使用、以及Ajax等Web2.0新特性。在教程的...

    Jsp宝典 PDF

    JSP宝典PDF电子版下载,JSP宝典全书比较全面地介绍了有关JSP的相关知识,并通过大量实例,循序渐进地教会读者如何构架和开发JSP动态网站、自定义标签开发和标准标签库JSTL使用、以及Ajax等Web2.0新特性。在教程的...

    jsp宝典源码

    本书比较全面地介绍了有关JSP的相关知识,并通过大量实例循序渐进地阐明如何构架和开发JSP动态网站、自定义标签开发和标准标签库JSTL使用以及Ajax等Web2.0新特性。 本书首先介绍了JSP的概念和特征,使读者对JSP先...

    在JSP中使用嵌套的自定义标记 (2002年)

    Java Server Page(JSP)是近几年发展起来的用于生成动态页面的技术,在1.1版本里推出了一项的新功能:允许用户在JSP页面中开发和使用自定义的标记.复杂自定义标记形式(如嵌套)有助于增强JSP页面的功能,扩充自定义...

    基于BS架构的软件项目实训-JSP-丁旭-配套源码及ppt

    “进阶篇”内容主要面向有一定JSP基础的读者,通过全面且实际的实训案例向读者介绍JavaBean技术的应用、Servlet技术的应用、自定义标签应用、XML技术应用、网络技术应用、安全技术应用及J2EE开发模式应用,读者参考...

    jeecg-framework-3.1.0.RELEASE

    技术点二:UI快速开发库,针对WEB UI进行标准封装,页面统一采用UI标签实现功能:数据datagrid,表单校验,Popup,Tab等,实现JSP页面零JS,开发维护非常高效 技术点三:在线流程定义,采用开源Activiti流程引擎,实现...

    J2EE应用开发详解

    80 5.6.9 config对象 80 5.7 JSP自定义标签 81 5.8 小结 84 第6章 XML、CSS和XSLT 85 6.1 XML 85 6.1.1 什么是XML 85 6.1.2 XML的产生 85 6.1.3 XML的用途 86 6.1.4 XML元素 87 6.1.5 XML属性 87 6.1.6 XML语法规则 ...

    基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip

    1. 软件开发流程(可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档)z 1) 分析理解前端页面,将前端的html页面改成Jsp页面,JSP页面加入page标签 2) 将JSP页面中的静态数据 修改为从数据库查询到...

    贞龙jsp版本CMS(BIZOSSCMS)高性能内容管理系统正式版

    这样一来BIZOSS-CMS引入了自主研发的模板引擎技术、自定义标签功能,实现网站程序和界面分离的平台搭建效果,改变了传统的“功能开发→页面设计→整合”制作方式,达到降低人力成本的目的,当然我们内置的可视化编辑...

    低清版 大型门户网站是这样炼成的.pdf

    7.6.2 文本新闻列表分页控制自定义标签类textnewspagetag 502 7.6.3 图片新闻列表自定义标签类picnewstag 505 7.6.4 幻灯片新闻列表自定义标签类slidenewstag 507 7.6.5 struts2与ajax完全结合实现点击数加一 510...

    JAVA程序开发大全---上半部分

    17.3.1 标签(Label)组件 294 17.3.2 按钮(Button)组件 295 17.3.3 文本框(Text)组件 295 17.3.4 列表框(List)组件 297 17.3.5 组合框(Combo)组件 298 17.3.6 菜单栏(Menu)和菜单项(MenuItem) 299 17.4...

    struts2.1宝典

    15.自定义标签中访问Dao 获取dao 6 16.标签获取参数 6 17.Action之间传递错误验证信息 6 18第一个Ajax例子 Ajax+struts2 6 8.标签 7 8.Select标签 7 9.Checkbox 10 10.checkboxlist 12 11.combobox 14 12....

    IBM WebSphere Portal门户开发笔记01

    14、JSP中初始化workspace的标签 78 15、JSP中用标签输出一条内容 78 (二)、标签及其功能的使用 78 1、Writing links to Web Content Management content 78 (三)拖放 JSP标记 80 1)&lt;dnd:drag/&gt; 80 2)...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    3.6.4 为自定义校验器开发专用标签 169 3.6.5 使用托管Bean的方法执行校验 173 3.6.6 绑定到Bean属性的校验器 175 3.7 本章小结 177 第4章 利用JDBC和JTA访问 数据库和管理全局事务 178 4.1 JDBC和容器管理的数据源 ...

    前端HTML模板解析引擎domTemplate.js.zip

    下图:对比服务器页面渲染和使用domTemplate前端引擎开发流程 服务器端模板解析 domTemplate前端解析 用法 导入jquery.js或者...

    JEECG快速开发平台 v4.0

    复杂流程业务采用表单自定义,业务流程使用工作流来实现、扩展出任务接口,供开发编写业务逻辑。实现了流程任务节点和任务接口的灵活配置,既保证了公司流程的保密行,又减少了开发人员的工作量。 JEECG功能特点 1、...

    深入浅出Struts 2 .pdf(原书扫描版) part 1

    Servlet①技术和1JSP(JaLvaServer Pages)是利用Java语言开发Web/_立用程序的两种主要技术。Sun公司于1996年首次推出Servlet技术时,人们认为这种技术远优于当时占主导地位的公共网关接口(Common Gateway Inter。...

Global site tag (gtag.js) - Google Analytics