您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

自定义JSP标签(tag)浅议

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 16:43 点击:

因为版本变化的关系,这篇文章未必有普适性

 (标准化越来越近了):namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

看这篇文章之前应该先看Sun的文章并最好动手实践之

http://java.sun.com/developer/technicalArticles/xml(标准化越来越近了)/WebAppDev3/

并且知道J2EE API文档的位置在

http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html

 

自定义Tag其实并不是一件很困难的事情,就是猛一接触,不知道该从何下手。推荐先看看Sun公司的一篇文章,看完了,大致就有了一个印象。在这里无意去翻译这篇简单的文章,而是从这篇文章展开去说说。要说明的一点就是sun的文档中代码都是完全可用的,但是因为排版问题,代码的分行有些地方不正确,直接copy的时候要仔细整理一下代码,否则有可能会通不过编译,部署的时候会给你一大堆异常。

 

自定义Tag使用的包是javax.servlet.jsp(SUN企业级应用的首选).tagext,如果编译有问题,可以去tomcat(一个很好用的JSP运行平台)commonlib文件夹下面找jsp(SUN企业级应用的首选)-api.jar引用上就可以了。

 

这个包里面的类和接口,基本上我们主要关心的就是以“Tag”结尾的那几个,接口TagBodyTag,类TagSupportBodyTagSupport,还有一个接口IterationTag,不过一般不会用到。其他的我们都可以看作是辅助类,帮助获取信息什么的。我们可以仔细看看J2EEAPI文档里面关于这个包的类说明。

 

上面类名里面的Body的意思可能一下子比较难理解。tag指的就是像<tagname></tagname>这样的东西,Body就是夹在tag中间的东西,比如<tagname>I am Body</tagname>。这么一来,这个tag也就成了BodyTag,因为它可以带Body。所以设计tag也要事先考虑好带不带Body,不过现实考虑,好像没有Bodytag应该也比较少吧。

 

Tag接口是这些类里面的根,所以先看看里面有什么。API文档里面那个Lifecycle图画的很粗糙,不过也能大致看清楚。我们也不过分纠缠细节,大致关心的就是doStartTag() doEndTag() 这一段。每当你写的tagjsp(SUN企业级应用的首选)页面里面要被解释的时候,服务器就自动调用你的类里面的doStartTag()函数来完成你定义的逻辑,当解析完标签后调用doEndTag()。实现Tag接口来定制自己的tag无疑是最灵活的。但是,难度

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • JSP与Servlet
      • 自己动手写MiniBBS系列(基本篇)之用户登录
      • JSP取当前日期
      • JDBC 入门(一)
      • 打开一个jsp页面默认查询所有数据,调用action
      • 使用JSP标签库验证用户的输入(2)完
      • 自定义JSP标签(tag)浅议
      • WIN98/2000下的jsp服务器
      • JSP内建对象(二)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1