1.tld文件配置taglib:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<!--
一个标签库<taglib>对应着有很多标签<tag>每个标签都有自己的标签名name和标签对应的JavaBean类
在这个javabean类中去处理我们要用的数据,这也就解决了jsp中不能写代码的问题,把jsp中的java代码
分离到一个个的java类中,每个标签<tag>对应一个java类,在jsp页面中用标签的形式去调用java类
<前缀:name>这样就实现了把java代码分离出来了,这个过程,让我们来好好想想,既然是把java代码从jsp中
分离出来,那么标签对应的java类怎么和jsp之间进行数据的通讯呢?我们可以想到一个很重要的类,那就是pageContext
这个类中持有了jsp页面中九大隐藏对象的引用,用了这个对象,我们就可以获取jsp页面的隐藏对象,所以我们的java类中
必须有这样的一个对象,是jsp页面传递过来的,看一看我们的java类,这个java类要实现标签类的功能,就必须实现
Tag(老的方法)这个接口,然后实现其中的方法,通过实验,我们可以看到
调用:setPageContext
调用:setParent
调用:doStartTag
调用:doEndTag
这就是标签类的调用方法的次序,而setPageContext方法首先被调用,印证了我们的想法,那么我们就要设置一个成员变量
用于存下由jsp页面传递出来的pageContext对象,这样我们就可以在其他的方法中去调用我们的pageContext对象了,
比如pageContext.getOut()获得JspWriter对象,用于向我们的jsp页面输出。
-->
<taglib>
<tlib-version>7.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>Time</short-name>
<tag>
<name>time</name>
<tag-class>cn.dhcool.tlb.TimeTag</tag-class>
</tag>
</taglib>
2.web.xml配置taglib:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name></display-name>
<jsp-config>
<taglib>
<taglib-uri>http://www.dhcool.cn</taglib-uri>
<taglib-location>/WEB-INF/First.tld</taglib-location>
</taglib>
</jsp-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
3.tag标签类实现:
package cn.dhcool.tlb;
import java.io.IOException;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.PageContext;
import javax.servlet.jsp.tagext.Tag;
public class TimeTag implements Tag {
private PageContext pageContext;
public void setPageContext(PageContext pc) {
this.pageContext = pc;
System.out.println("调用:setPageContext");
}
public void setParent(Tag t) {
System.out.println("调用:setParent");
}
public Tag getParent() {
System.out.println("调用:getParent");
return null;
}
@SuppressWarnings("deprecation")
public int doStartTag() throws JspException {
JspWriter out = this.pageContext.getOut();
try {
out.println(new Date().toLocaleString());
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("调用:doStartTag");
return 0;
}
public int doEndTag() throws JspException {
try {
this.pageContext.getOut().println("OK!");
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("调用:doEndTag");
return 0;
}
public void release() {
System.out.println("调用:release");
}
}
分享到:
相关推荐
struts taglib使用示例 struts taglib使用示例 struts taglib使用示例struts taglib使用示例 struts taglib使用示例
struts-taglib-1.3.10.jar struts-taglib.jar taglib.jar
taglib-1.11.1 taglib-1.11.1 taglib-1.11.1 taglib-1.11.1 taglib-1.11.1 taglib-1.11.1 taglib-1.11.1
idea需要的taglib标签库包,idea没有自带的taglib标签库,需要手动导入taglib包,并且配置对应的路径,进入“settings”设置选项,然后搜“DTD”然后如下图,在左边的标签选项卡找到“Schemas and DTDS” ,在url的...
讲述Taglib 自定义标签
json-taglib 使用方法,json:object json:Array json:Property
标准的 JSP 标记可以调用 JavaBeans 组件或者执行客户的请求,这大大降低了 JSP 开发的复 杂度和维护量。JSP 技术也允许你自定义 taglib,其实换句话说,taglib 可以看成是对 JSP 标 记的一种扩展,正如 xml 是对 ...
taglib 原理和实现.taglib 原理和实现.
iCP Training---105 TagLib.ppt
分页工具page-taglib使用说明,分页工具page-taglib使用说明
这是pager-taglib的官方源码,但在采用官方的pager-taglib分页传输中文参数会出现乱码,所以我采用maven新建一个pager-taglib项目对pager-taglib的源码进行小小的改动,是他支持中文传输,更重要的是把源代码提供给...
使用pager-taglib分页,含有多种分页样式,jar包都有,只要导入就可以运行,内附有说明,java 语言的
pager-taglib的安装与使用pager-taglib的安装与使用pager-taglib的安装与使用
json-taglib 0.4.1 java json-taglib 0.4.1 java json-taglib 0.4.1 java
pager-taglib-2.0,pager-taglib-2.0,pager-taglib-2.0,java分页标签。
添加依赖项到一个WEB应用程序: 在web应用程序中,添加以下JAR包到/web-inf/lib目录: - taglibs-standard-spec-1.2.5.jar ... <%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
SSHConformity【display标签和taglib标签】,display标签,pager-taglib标签
Taglib指令介绍 Taglib指令,其实就是定义一个标签库以及自定义标签的前缀。 比如struts中支持的标签库,html标签库、bean标签库、logic标签库。 其中的具体的实现方式,我们不过多介绍,我们给大家从宏观的角度以及...
Java ServerPages 1.1 taglib 标签使用文档
jsp pager-taglib 分页 jar 包下载