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文件。
分享到:
相关推荐
1. **LICENSE.txt** - 这个文件通常包含关于软件的授权信息,如Apache 2.0、MIT或GPL等开源许可证。开发者需要阅读并遵循这些条款来合法地使用、修改和分发这个标签库。 2. **README.txt** - 这是项目的说明文件,...
编译过程通常涉及解压源代码,配置构建系统(如使用`cmake`命令),然后运行构建命令(如`make`)。完成编译后,可以使用提供的头文件和库文件开始编写读取和修改音频文件元数据的代码。 在实际应用中,Taglib可以...
##### 1. 开发标签实现类 以“helloTag”为例,我们首先需要创建一个标签实现类。在这个例子中,“helloTag”继承了`TagSupport`类,这是JSP提供的一个基础标签类,简化了标签的开发过程。在`doStartTag()`方法中,...
### 1. 安装Pager Taglib 2.0 首先,你需要将`pager-taglib-2.0.war`文件部署到你的应用服务器上。这通常包括以下几个步骤: - 下载`pager-taglib-2.0.war`文件。 - 将war文件复制到你的应用服务器的webapps目录下...
1. **文件浏览器**:用户可以通过文件浏览器选择音频文件,这通常涉及文件系统的操作和文件类型的过滤。 2. **元数据读取**:使用Taglib读取音频文件的元数据,并显示在界面上,如歌曲列表。 3. **播放控制**:...
1. **引入库**:首先,你需要在项目的类路径中添加`pager-taglib-2.0.jar` 文件。这可以通过将文件放入WEB-INF/lib目录,或者在Maven或Gradle等构建工具中声明依赖来完成。 2. **配置TLD**:在Web应用的WEB-INF目录...
`pager-taglib`是Java Web开发中常用的分页标签库,它简化了在JSP页面上实现分页功能的过程。这个标签库通常与Spring MVC、Struts2等框架结合使用,提供了一种声明式的方式来展示数据分页。下面将详细解释`pager-...
SSHConformity是一个基于Spring、Struts和Hibernate的开源项目,它集成了多种标签库,以简化Web开发过程。在SSHConformity中,`display标签`和`taglib标签`是两个重要的组件,主要用于页面展示和数据分页。 1. **...
通过简单的标签语句即可实现JSON对象及数组的构建,大大简化了JSON数据的生成过程。 #### 二、安装与配置 为了使用json-taglib,首先需要将json-taglib.jar添加到项目的`WEB-INF/lib`目录下。接下来,在JSP页面中...
`TagSupport` 是一个抽象类,它简化了标签开发过程,提供了通用的方法如 `doStartTag()`, `doEndTag()` 等,这些方法在标签生命周期的不同阶段被调用。而 `BodyTagSupport` 则继承自 `TagSupport`,并添加了对标签体...
`pager-taglib`是一个专为JSP页面设计的分页标签库,它简化了在JSP中实现分页的过程。下面将详细介绍`pager-taglib`的安装、使用方法以及其核心知识点。 ### 1. `pager-taglib`简介 `pager-taglib`是一个开源的JSP...
总的来说,JSON Taglib是一个强大的工具,它简化了在JSP环境中处理JSON数据的过程,让Java后端开发人员能够更高效地与前端进行数据交互。通过深入理解和熟练运用这个库,你可以构建出更加灵活和响应式的Web应用程序...
`json-taglib`使得这个过程变得更加便捷,因为它提供了JSP标签,可以直接在JSP页面中将Java对象转换为JSON字符串,并且可以轻松地将这些数据插入到HTML中。 该jar包的核心功能可能包括以下几点: 1. **JSON对象转...
1. **下载`pager-taglib.jar`文件:** - 首先,需要从官方或者可信的第三方资源库中下载`pager-taglib.jar`文件。这个文件包含了所有的标签库定义以及其实现逻辑。 - 建议访问官方文档或网站获取最新版本,确保...
pager-taglib-2.0提供了一种方便的方式来处理这个过程,它可能包含预定义的标签,如`<pager:page>`,这些标签可以嵌入到JSP页面中,以控制显示的数据范围。 **2. 使用步骤:** - **添加依赖**:将`pager-taglib....
PagerTaglib库是基于JSTL(JavaServer Pages Standard Tag Library)的扩展,它简化了在JSP页面中处理分页逻辑的过程。使用这个库,开发者无需在后台编写大量的Java代码,只需在JSP页面中插入相应的标签就能完成分页...
`pager-taglib` 是一个用于网页分页功能的Java标签库,它简化了在JSP页面中实现分页展示数据的过程。这个框架旨在提高开发效率,提供易用的API和直观的标签语法,使得开发者无需编写大量的HTML和Java代码就能实现...