tag的一个Demo
<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %> 中tagdir是引入即将要使用的tag文件的路径,prefix是设置本jsp如何调用tag文件(本文中的两个easy必须一致)。jsp代码:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <!-- 引入css --> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="X-UA-Compatible"content="IE=EmulateIE9"/> <%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %> <title>标签文件简介示例</title> <link > </head> <body> Today is <easy:tagDemo/> </body> </html>
tag文件代码:
<%@ tag import="java.util.Date" import="java.text.DateFormat"%> <% DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG); Date now = new Date(System.currentTimeMillis()); out.println(dateFormat.format(now)); %>
JSP中的TAG文件和TLD文件区别
在jsp文件中,可以引用tag和tld文件。
1.对于tag文件
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags" %>
其中的tags是个目录,里面有若干tag文件。
但使用<ti:XXXX>时,目录WEB-INF/tags下,必然有个XXXX.tag文件与之对应。
在jsp中可以引用TLD文件,如
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
但是这个http://struts.apache.org/tags-html对应着什么呢?
jsp会在当前目录的\WEB-INF下找所有tld文件,确认这个URL对应哪个TLD文件。
当找到struts-html.tld文件时,发现其中的内与这个URL对应。
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。
还有一种更保险的方法是,在WEB-INF/web.xml中加上
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-taglib.tld
</taglib-location>
</taglib>
这样表示http://jakarta.apache.org/tomcat/examples-taglib对应着/WEB-INF/jsp/example-taglib.tld
tld文件作用比较复杂,可以实现很多高级的作用。
2.对于tld文件
tag文件作用一般是一段小代码,类似include文件的作用。