标签扩展时一个Java类,它是运行一个或者两个接口的JavaBean。在JSP规范里,标签具有比JavaBean更丰富的运行时(Runtime)协议。它可以非常机密地和JSP的表示逻辑联系在一起,同时它又具有和普通JavaBean相同的业务逻辑处理能力。
在JSP2.0规范中,为了简化自定义标签库的开发,增加了一种新的标签开发接口。
[b]1. 标签语言的介绍[/b]
标签扩展是一个Java类,它是运行一个或者两个接口的JavaBean。在JSP规范里,标签具有比JavaBean更丰富的运行时协议,因为:
1.1 初始化可以包含属性,没有这些属性标签就不能运行,而JavaBean的构造函数参数为空。
1.2 设置和获取属性不会涉及到所有的基类,在Bean中只有少量的逻辑控制。
1.3 JSP页面中的Bean没有默认设置上下文,也就是说,Bean没有一个父类的或者页面上下文对象的默认概念。
JSP所有的标签都实现了javax.servlet.jsp.tagext.JspTag接口。这个接口是一个标记接口,它有两个直接子接口:
1.1 一个是SimpleTa,它是JSP2.0新增加的接口,代表了简单的标签
1.2 一个是Tag接口,它是经典的、必须实现的接口,它有一个直接子接口就是IterationTag。
[b]注意:[/b]
由于JSP2.0中新定义的标签在实现原理上和JSP1.2中的标签有很大的区别。这样下文中将JSP1.2的规范中的标签成为传统标签,JSP2.0中新定义的一种类型的标签为简单标签(SimpleTag).在JSP2.0规范中有传统标签,也有简单标签。
在JSP2.0规范中,为了简化自定义标签库的开发,增加了一种新的标签开发接口。
[b]1. 标签语言的介绍[/b]
标签扩展是一个Java类,它是运行一个或者两个接口的JavaBean。在JSP规范里,标签具有比JavaBean更丰富的运行时协议,因为:
1.1 初始化可以包含属性,没有这些属性标签就不能运行,而JavaBean的构造函数参数为空。
1.2 设置和获取属性不会涉及到所有的基类,在Bean中只有少量的逻辑控制。
1.3 JSP页面中的Bean没有默认设置上下文,也就是说,Bean没有一个父类的或者页面上下文对象的默认概念。
JSP所有的标签都实现了javax.servlet.jsp.tagext.JspTag接口。这个接口是一个标记接口,它有两个直接子接口:
1.1 一个是SimpleTa,它是JSP2.0新增加的接口,代表了简单的标签
1.2 一个是Tag接口,它是经典的、必须实现的接口,它有一个直接子接口就是IterationTag。
[b]注意:[/b]
由于JSP2.0中新定义的标签在实现原理上和JSP1.2中的标签有很大的区别。这样下文中将JSP1.2的规范中的标签成为传统标签,JSP2.0中新定义的一种类型的标签为简单标签(SimpleTag).在JSP2.0规范中有传统标签,也有简单标签。