1. Taglib的编写
Taglib用于将呈现逻辑进行封装。
它必须继续自TagSupport类。
下面是一个简单的例子:
package org.topxp.taglib;
import java.io.IOException;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
public class OutTag extends TagSupport {
/**
* @see javax.servlet.jsp.tagext.TagSupport#doEndTag()
*/
@Override
public int doEndTag() throws JspException {
JspWriter out = this.pageContext.getOut();
try {
out.println("当前的时间是:" new Date());
} catch (IOException e) {
throw new JspException(e);
}
return EVAL_PAGE;
}
/**
* @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
*/
@Override
public int doStartTag() throws JspException {
return super.doStartTag();
}
}
2. tld文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.
//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.OutTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
3. Taglib的部署
3.1 简单部署
3.1.1 方式一
编写tld文件,并且放置到WEB-INF目录或创建子目录,然后在JSP中,使用taglib指令,指定URI即可:
< %@ taglib divfix=”topxp” uri=”/WEB-INF/mytaglib.tld” %>
这个指令,直接指向一个tld文件。
3.1.2 方式二
也可以在web.xml中用taglib-uri和taglib-location标记来定义它的URI和位置的映射,然后在JSP中指定URI的时候,就直接使用在web.xml中定义的URI即可,这个就不举例子了。
3.2 打包部署
你也可以将taglib打成jar包,这个时候,你的taglib描述文件(tld文件),必须被放置在jar文件内的META-INF目录(或子目录)下。你可以在这个目录下,放置多个tld文件。
假如将taglib打包,这个jar包必须被放置在web-inf/lib目录下。在jar包的meta-inf目录下的tld文件,都可以被自动发现,不需要显式的定义其位置。
3.2.1
JSP使用方式一:用URI直接指定jar文件的位置
Jsp中可以使用下面的指令来指定tld文件的位置:
< %@ taglib divfix=”topxp” uri=”/WEB-INF/lib/topxptaglib.jar” %>
在这种情况下,因为没有直接指定tld文件的位置,所以,tld文件必须遵守一定的命名规则。规则就是:
Tld文件必须命名为:taglib.tld。这样,在meta-inf目录下,只能放置一个tld文件,无法支持多个tld文件。
3.2.2
JSP使用方式二:使用定制的URI
假如需要在一个jar包中包含多个tld文件,你必须使用某种方式来区分这些tld文件,这种方式就是:
在tld文件中,用< uri >标记来区别不同的tld文件。如,可以加入下面的< uri >标记进topxptaglib.jar中的tld文件:< uri >http://www.topxp.org/taglib</uri >
在我们的例子中,假设命名为topxp.tld,下面就是topxp.tld文件的内容,请注重添加了< uri >标记:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.
//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<uri>http://www.topxp.org/taglib</uri>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.OutTag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
这个时候,你可以将你的tld文件命名为其它的名字,如topxpabc.tld。
在JSP中,需要使用下面的方式来定义:
< %@ taglib divfix=”topxp” uri=”http://www.topxp.org/taglib” %>
可以看到,在这样的情况下,我们可以在一个jar包中包含任意多个tld文件。
分享到:
相关推荐
### pager-taglib 使用指南 ...通过以上介绍可以看出,`pager-taglib` 为开发者提供了一种简单而强大的分页解决方案,极大地提高了开发效率。在实际项目中,根据具体的需求调整参数即可轻松实现多样化的分页效果。
5. `<pager:params>`:允许传递额外的请求参数,这对于在分页过程中保持其他查询条件不变非常有用。 三、使用步骤 1. 添加依赖:在项目中引入`pager-taglib-2.0.war`,通常将其部署到应用服务器的lib目录下,或者...
`TagSupport` 是一个抽象类,它简化了标签开发过程,提供了通用的方法如 `doStartTag()`, `doEndTag()` 等,这些方法在标签生命周期的不同阶段被调用。而 `BodyTagSupport` 则继承自 `TagSupport`,并添加了对标签体...
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于Web应用程序之间的数据传输,因为它的结构简单、易于读写、对人类可读性强。而`json-taglib`是针对Java的一个标签库,它提供了在JSP页面上...
`pager-taglib` 是一个用于网页分页功能的Java标签库,它简化了在JSP页面中实现分页展示数据的过程。这个框架旨在提高开发效率,提供易用的API和直观的标签语法,使得开发者无需编写大量的HTML和Java代码就能实现...
`pager-taglib`是一个专为JSP页面设计的分页标签库,它简化了在JSP中实现分页的过程。下面将详细介绍`pager-taglib`的安装、使用方法以及其核心知识点。 ### 1. `pager-taglib`简介 `pager-taglib`是一个开源的JSP...
4.1 节主要讨论了通用标签,这些标签在页面呈现时控制代码的执行过程,并可以从 Action 或值堆栈中获取数据。下面我们将详细探讨几个重要的通用标签: 1. **If 标签**: If 标签用于实现基本的条件控制,与传统的...
在这个例子中,“helloTag”继承了`TagSupport`类,这是JSP提供的一个基础标签类,简化了标签的开发过程。在`doStartTag()`方法中,标签的开始逻辑被定义;而在`doEndTag()`方法中,则定义了标签结束时的行为。具体...
其信号与槽机制使得事件处理变得简单,提高了代码的可维护性和可扩展性。此外,Qt的跨平台特性允许代码在多种操作系统上运行,减少了针对不同平台的适配工作。 **Taglib库** Taglib库是音乐播放器开发中的关键部分...
文档的作者鼓励读者反馈在实践过程中遇到的问题,并承诺会不断更新和完善文档内容。 ### 环境配置 文档的作者提到,本书的所有程序都是在Eclipse2.1.2、lomboz2.1.2和Tomcat4.1.27/Tomcat5.0.16下调试完成的。同时...
通过简单的标签语句即可实现JSON对象及数组的构建,大大简化了JSON数据的生成过程。 #### 二、安装与配置 为了使用json-taglib,首先需要将json-taglib.jar添加到项目的`WEB-INF/lib`目录下。接下来,在JSP页面中...
"pager-taglib实现用户信息分页"这个项目提供了一个简单的分页解决方案,尤其适用于初学者学习。在这个实例中,开发者使用了PagerTaglib库,这是一个基于JSP自定义标签库,用于方便地在网页上实现数据的分页展示。 ...
在taglib的学习过程中,你将接触到以下重要知识点: 1. JSP标签库的概念:理解标签库是JSP中的一个组件,它提供了一种在页面中使用预定义功能的方法,类似于函数但更方便于页面处理。 2. TLD文件:这是描述标签库...
### pager-taglib分页...综上所述,`pager-taglib`为JSP项目中的分页功能提供了一套简单而强大的解决方案。通过遵循上述步骤和建议,开发者可以快速地在自己的项目中集成分页功能,同时保持代码的清晰和维护的便利。
`pager-taglib`是一个专为JSP页面设计的分页标签库,它简化了在Web应用中实现分页的过程。在这个“pager-taglib分页例子”中,我们将探讨如何使用`pager-taglib`进行高效且简洁的分页实现。 首先,`pager-taglib`...
总结,`pager-taglib`作为一个简单的分页处理框架,通过提供预定义的JSP标签,极大地简化了分页功能的实现。对于初学者和快速开发来说,这是一个非常实用的工具。通过深入理解和实践`pageDemo`,可以快速掌握在实际...
3. **JSP Taglib 实现**:在 JSP 页面上直接使用 Shiro 的标签库进行权限控制。 通过以上方式,开发者可以根据项目需求选择合适的授权策略,并结合自定义 Realm 实现与应用的数据库或其他数据源的交互,以实现精细...
`pager-taglib`是一个专为JSP页面设计的分页标签库,它简化了在前端实现分页的过程。在这个小例子中,我们将深入探讨如何使用`pager-lib`插件来实现分页功能。 首先,`pager-taglib`是基于JSTL(JavaServer Pages ...