回顾:

昨天了解了JSP开发的两种模式Model1和Model2模式。Model1采用JSP+JavaBean技术开发Web应用,它比较适合小规模应用的开发,效率较高,易于实现。但由于在Model1中JSP页面里内嵌了大量的Java代码,致使当业务逻辑复杂时,代码的可维护性、可扩展性和可重用性下降。Model2采用了JSP+Servlet+JavaBean技术开发Web应用。该模式基于MVC模式,完全实现了页面显示和逻辑的分离,它充分利用了JSP和Servlet两种技术的有点,JSP更适合前台页面的开发,而Servlet更擅长服务器端程序的编写。Model2分工明确,更适合大型项目的开发和管理。

------------------------------------------Today------------------------------------------------

今天我们学习JSP中的自定义标签。

首先我们要了解“自定义标签”是什么?自定义标签是由标签处理类和一个XML格式的标签描述文件组成的,标签处理类中包含了请求期间将要执行的Java代码,在标签描述文件中定义了如何使用这个标签。当服务器遇到自定义标签时会通过标签描述文件调用标签处理类,多个自定义标签就组成了一个自定义标签库,开发自定义标签就是定义标签处理类以及编写标签描述文件的过程。

了解三种典型的标签

(1)不带属性和标签题的简单标签。格式为:

    <myprefix:SomeTag/>

(2)带有属性没有标签提的标签。格式为:

    <myprefix:SomeTag myAttribute="test"/>

(3)带有属性有标签体的标签。格式为:

    <myprefix:SomeTag myAttribute="test">myBody</myprefix:someTag>

自定义标签的开发步骤(3 steps)

1 step:开发标签处理程序类。在JSP2.0以前版本的标签必须直接或间接实现javax、servlet.jsp.tagext.Tag接口,在Tag接口中,主要定义的是和标签声明周期相关的方法,入setPageContext( )、doStartTag( )、doEndTag( )等,这些方法在标签的生命周期中将自动调用完成。

2 step:定义标签库描述文件。标签库标书文件是一个后缀为tld的XML文档,它标书了标签处理程序的属性、信息和位置,JSP通过这个文件得知调用哪一个标签处理类。

Last step:在JSP文件中对自定义标签应用。在JSP页面中使用taglib指令应用所使用的标签文件。

总结

从JSP1.1开始就有了自定义标签技术,在JSP1.2和JSP2.0的范围中,自定义标签得到了不断的增强。自定义标签可以和JSP页面紧密地集成在一起,可以用类似HTML一样的语法来部署和调用。采用自定义标签技术,可以开发出很多简单实用的标签库,方便很多不懂编程语言的人员在不同项目的JSP页面中调用。自定义标签充分提现了软件重用的思想。

Java Web开发技术教程入门-自定义标签的更多相关文章

  1. Java Web开发技术教程入门-初识动态网页

    这段时间学校搞了一个"阅战阅勇"的阅读活动,奖品还是挺丰富的~于是,奔着这些奖品,我去图书馆借了这本<Java Web开发技术教程>.一是为了那些丰富的奖品,二是为了回 ...

  2. Java Web开发技术教程入门-JSP基本语法和九大内置对象

    这两天气温逐渐升高,好想把自己泡在冰块里······ 恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽.......今天阅读到了这本书的第四章-JSP基本语法.经过第一天的阅读,我们明白JSP技术是Java Web开 ...

  3. Java Web开发技术教程入门-静态网页技术

        昨天了解了构建动态网站的几种技术:Servlet技术.JSP技术,ASP技术和ASP.NET技术以及PHP技术.昨天的精髓在于JSP技术的运行原理:通过用户请求JSP文件,首先检查JSP文件的 ...

  4. Java Web开发技术教程入门-Model1和Model2

    今天我们聊聊JSP开发中的Model1和Model2. Model1采用了JSP+JavaBean技术开发Web应用.其中,JSP实现页面显示,业务逻辑和流程控制,数据处理由JavaBean完成.在J ...

  5. Java Web开发技术教程入门-数据库

    补更:阅战阅勇第六天 今天阅读了这本书的第六章-访问数据.首先,这本书讲解的是MySql数据库,它是一个关系型数据库管理系统,是由瑞典MySqlAB公司开发,目前属于Oracle旗下公司.在web应用 ...

  6. Java Web开发技术教程入门-JavaBean组件与Servlet

    补更:阅战阅勇第7/8/9Days笔记 昨天我们了解了JDBC技术的一些日常操作,对于数据库而言,不仅仅的只有"增,删,改,查".博主觉得最重要的是SQL语句的优化,一个" ...

  7. Java Web开发技术教程入门-项目-读取用户注册信息

    昨天说要补个项目来巩固下这几天学的知识,于是今天咱们就写一个读取用户注册信息的小项目.读取用户信息注册信息这个功能在各大网站都是很常见的.好,话不多说.开始我们的编程之旅! 软件环境:JDK9.0  ...

  8. 《Tomcat与Java Web开发技术详解》思维导图

    越想构建上层建筑,就越觉得底层基础很重要.补课系列. 书是良心书,就是太基础了,正适合补课. [纯文字版] Tomcat与Java Web开发技术详解 Servlet Servlet的生命周期 初始化 ...

  9. 《TomCat与Java Web开发技术详解》(第二版) 第八章节的学习总结 -- 访问mysql

    终于学到如何访问Mysql了 1. 可以看看此章节提供的sql脚本,以后可以照着写了.此外,对于Mysql如何使用,最好的地方就是其官网介绍了.http://dev.mysql.com/doc/ref ...

随机推荐

  1. js判断是否是app,及版本号

    判断是否是android,ios,qq,wetchat export const Config = {}; Config.ua = navigator.userAgent.toLowerCase(); ...

  2. [CSP-S模拟测试]:凉宫春日的忧郁(乱搞)

    题目传送门(内部题101) 输入格式 第一行输入一个整数$T$,表示数据组数. 接下来$T$行,每行两个数$X,Y$,表示$T$组数据. 输出格式 输出共有$T$行,对于每一组数据,如果$X^Y\le ...

  3. 库&插件&框架&工具

    nodejs 入门 nodejs 入门教程,大家可以在 github 上提交错误 2016 年最好用的表单验证库 SMValidator.js 前端表单验证工具分享 浅谈前端线上部署与运维 说到前端部 ...

  4. C++入门经典-例9.5-为具体类型的参数提供默认值

    1:默认模板参数是指类模板中由默认的数据类型作为参数的参数,在模板定义时,还可以为默认的数据类型声明,变量,并为变量赋值.代码如下: // 9.5.cpp : 定义控制台应用程序的入口点. #incl ...

  5. ThinkPhp sql语句执行方法

    ThinkPHP内置的ORM和ActiveRecord模式实现了方便的数据存取操作,而且新版增加的连贯操作功能更是让这个数据操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查询和执行操作支持, ...

  6. 转载:一文详解SQL解析与应用

    转载地址:http://www.elecfans.com/emb/20180618696111.html 数据库作为核心的基础组件,是需要重点保护的对象.任何一个线上的不慎操作,都有可能给数据库带来严 ...

  7. DP&图论 DAY 6 上午

    DP&图论  DAY 6  上午 双连通分量 从u-->v不存在必经边,点 点双连通分量 边双连通分量 点/边双连通分量缩点之后变成一个树 找连通块的时候不越过割点或者桥 P3469 [ ...

  8. 移动App双周版本迭代策略

    对于移动互联网产品来说,迭代的速度就是生命.我创业时做移动App时是一周一版,而现在是2周1版.相比起小公司,大公司迭代时间虽长,却更为不易,因为大公司流程更多,参与人数更多,需求更多,实现这样的快速 ...

  9. 图片加载框架之fresco

    FaceBook推出的图片处理框架主页: https://github.com/facebook/fresco中文文档:http://fresco-cn.org/docs/index.html 功能 ...

  10. Windows下Java JDK环境变量的配置

    注意:前提是你已经在电脑上安装了JDK 1.打开控制面板—系统和安全—系统,选择高级系统设置 2.选择环境变量 3. 然后看看用户变量中有没有JAVA_HOME和CLASSPATH变量 4.新建JAV ...