| |
| 学习心得 - 自定义标签库(上) |
| |
发布者:o0 发布时间:2007-03-26 |
|
|
1. 什么是自定义标签 答:1) 用户自定义的Java语言元素, 实质是运行一个或者两个接口的JavaBean; 2) 可以非常机密地和JSP的表示逻辑联系在一起,又具有和普通JavaBean相同的业务逻辑处理能力; 2) 当一个JSP页面转变为servlet时,其间的用户自定义标签转化为操作一个称为标签hander的对象; 3) 可操作默认对象,处理表单数据,访问数据库以及其它企业服务;
2. 自定义标签库的特点 答:1) 通过调用页面传递参数实现定制; 2) 访问所有对JSP页面可能的对象; 3) 修改调用页面生成的响应; 4) 自定义标签间可相互通信; 5) 在同一个JSP页面中通过标签嵌套,可实现复杂交互。
3. 如何使用自定义标签库 答:1) 声明标签库 2) 使标签库执行对Web应用程序可用
4. 声明标签库 答:1) 使用taglib指令声明标签库 2) 语法:<%@taglib uri="URI" prefix="pre" %> 注意:a. uri属性可以是绝对的,也可以是相对URL,该URL指向标记库描述符(TLD)文件; b. uri属性也可以是一个并不存在的URL,该URL为web.xml文件中将标记库描述符(TLD)文件的绝对URL到本地系统的一个映射; 3) 范例:<%@taglib uri="/WEB-INF/template.tld" prefix="test" %> <%@taglib uri="http://java.sun.com/jstl/core" prefix="core" %>
5. 使标签库执行可用 答:方式一:在WEB-INF/classes目录下部署标记处理程序类; 方式二:将标记处理程序类打包成jar文件并置于WEB-INF/lib目录。
6. 几种典型的标签(疑问:可以有带主体而没有属性的标签么?) 答:1) 不带属性和主体的简单标签:<mytaglibs:SomeTag/>; 2) 不带主体但有属性的标签:<mytaglibs:SomeTag user="TonyDeng"/>; 3) 带有主体和属性的标签:<mytaglibs:SomeTag user="TonyDeng"> ...// 标签体 </mytaglibs:SomeTag>; 注意:a. 属性列于start tag中,它是在标记库描述符(TLD)文件中指定,服务于标记库的自定义行为; b. 标签体位于start tag和end tag间,可以是任何合法的JSP内容或者标签;
7. 定义标签 答:1) 开发实现tag的类(tag handler); 2) 编辑标记库描述符(TLD)文件; 3) 在web.xml中为标记库描述符(TLD)文件的绝对URL建立一个映射(该步骤可选);
8. 标记库描述符(TLD)文件 答:1) 一个描述标记库的XML文件; 2) 内容开始是整个库的描述,然后是tag的描述; 3) 标记库描述符(TLD)文件用于Web Container确认tag以及JSP页面发展工具;
9. 实现tag的类(tag handler) 答:1) 是一些在引用了标签的JSP页面执行期间被Web Container调用以求自定义标签值的对象; 2) 必须实现Tag, SimpleTag和BodyTag之一; 3) 可以继承TagSupport和BodyTagSupport之一。
10. 标签库的接口和类的继承关系 答:表现形式一: a. 接口的继承关系: ☉ interface javax.servlet.jsp.tagext.JspTag ☉ interface javax.servlet.jsp.tagext.SimpleTag ☉ interface javax.servlet.jsp.tagext.Tag ☉ interface javax.servlet.jsp.tagext.IterationTag ☉ interface javax.servlet.jsp.tagext.BodyTag b. 类的继承关系: ☉ class javax.servlet.jsp.tagext.TagSupport (implements javax.servlet.jsp.tagext.IterationTag, java.io.Serializable) ☉ class javax.servlet.jsp.tagext.BodyTagSupport (implements javax.servlet.jsp.tagext.BodyTag) ☉ class javax.servlet.jsp.tagext.SimpleTagSupport (implements javax.servlet.jsp.tagext.SimpleTag) 表现形式二: (Interface) JspTag ↑ |ˉˉˉˉˉˉˉˉ| (Interface) (Interface) Tag SimpleTag ←--SimpleTagSupport ↑ | (Interface) IterationTag←--TagSupport ↑ ↑ | | (Interface) | BodyTag ←--BodyTagSupport
|
| (转载文章请保留出处:北天JAVA技术网(www.java114.com)) |
| |
| 更多精彩文章: |
| 学习心得 - 计算机是练出来的 |
| 学习心得 - JSP中处理异常以及一些高级主题 |
| 学习心得 - JSP介绍、创建、配置以及执行JSP |
| 学习心得 - Java入门需掌握的30个基本概念 |
| 学习心得 - Java人生J2ee学习流程 |
| Java编程 - 为什么Java中继承多数是有害的 |
| |
| 最近评论: |
|
|
| 你曾悄悄的来过! |
| wow gold,wow gold,wow gold,ffxi gil max(6790) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,wow power leveling,wow gold
max(3194) |
|
|
| 冰封的往事! |
| wow power leveling,wow gold,WoW Gold,wow gold
max(2918) |
|
|
| 飞舞的传奇! |
| 传世私服,传世私服.传奇世界私服传奇世界私服,传世私服传世私服, 传奇世界私服传奇世界私服.传奇私服传奇私服. max(3065) |
|
|
| |
| 免责声明:该文章由网友发表,如果对您造成侵权,请联系站长。 |
|