您的位置:首页 > Web前端 > JavaScript

JSP 2特性 —— Tag File 支持

2016-03-30 22:53 585 查看
Tag File 是自定义标签的简化用法,使用Tag File可以无须定义标签处理类和标签库文件,但可以在JSP页面使用自定义标签

使用Tag File建立一个迭代器标签

1.建立Tag文件 :Tag File代理了标签处理类,它个格式类似于JSP

/WEB-INF/tags/iterator.tag

<%@ tag pageEncoding="GBK" import="java.util.List"%>

<!-- 定义了四个标签属性 -->

<%@ attribute name="bgColor" %>

<%@ attribute name="cellColor" %>

<%@ attribute name="title" %>

<%@ attribute name="bean" %>

<table border="1" bgcolor="${bgColor}">

<tr>

<td><b>${title}</b></td>

</tr>

<%List<String> list = (List<String>)

request.getAttribute("a");

// 遍历输出list集合的元素

for (Object ele : list){%>

<tr>

<td bgcolor="${cellColor}">

<%=ele%>

</td>

</tr>

<%}%>

</table>

注:Tag File具有5个编译指令:

-taglib :导入其他标签库

-include : 导入其他静态页面或者JSP页面

-tag :用于设置页面编码等属性

-attribute :设置自定义标签的属性

-variable :用于设置自定义标签的变量

2.在页面中使用自定义标签

useTagFile.jsp

<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>

<%@ page import="java.util.*" %>

<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title>迭代器tag file</title>

</head>

<body>

<h2>迭代器tag file</h2>

<%

// 创建集合对象,用于测试Tag File所定义的标签

List<String> a = new ArrayList<String>();

a.add("C/C++");

a.add("Java");

a.add("Java EE");

// 将集合对象放入页面范围

request.setAttribute("a" , a);

%>

<h3>使用自定义标签</h3>

<tags:iterator bgColor="#99dd99" cellColor="#9999cc"

title="迭代器标签" bean="a" />

</body>

</html>

注意:<%@ taglib prefix="tags" tagdir="/WEB-INF/tags" %> 和 <tags:iterator bgColor="#99dd99" cellColor="#9999cc"title="迭代器标签" bean="a" />表面标签使用/WEB-INF/tags路径下的iterator(Tag File)来处理标签。

总结:我们会发现就如同JSP文件会编译为Servlet一样,Tag File 也编译成标签处理类,自定义标签的后台依然由标签处理类完成,而这个过程由容器玩。打开Tomcat下项目E:\MyEclipse\apache-tomcat-8.0.23\work\Catalina\localhost\JSP-2\org\apache\jsp\tag路径会发现可以看到iterator_tag.java 、 iterator_tag.class文件,它们就是对应的标签处理类

打开iterator_tag.java 文件可以发现,Tag File 中只有如下的内置对象 :

-request : 与JSP脚本的request对应

-response

-session

-application

-config

-out

它们与JSP脚本的内置对象对应。

May -Good -Luck -Be -With -You
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: