JSP的自定义标签(五)之Tag File

Tag File 是自定义标签的简化用法,使用TagFile可以无须定义标签库和标签文件,但仍然可以在JSP页面中使用自定义标签。

1. 建立Tag文件

学习Tag File需要子解Tag File扔命名,它的命名必须遵守如下的规则:tagName.tag。即        Tag File的主文件名就是标签名,文件名后缀必须是tag。而且,将文件存放在Web应用的某个路径下,这个路径相当于标签库的URL名。例如放在/WEB-INF/tags下,即标签库的路径为/WEB-INF/tags.

Tag File具有5个编译指令,如下:

(1).        taglib:作用与JSP文件中的taglib指令效果相同,用于导入其他标签库

(2).        include:作用与JSP文件中的include指令效果相同,用于导入其他JSP或静态页面

(3).        tag:作用类似于JSP文件中的page指令,有pageEncoding、body-content等属性,用于设置页面代码等属性。

(4).        attribute:用于设置自定义标签的属性,类似于自定义标签类中处理的标签属性。

(5).        variable:用于设置自定义标签的变量,这些变量将传给标签属性。

下面我们定义个迭代器的标签Tag File,名称为: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>

2. 使用自定义标签

使用自定义标签的格式如:

    <% @ tablib prefix=”tagPrefix” tagdir=”path”%>

    

<%@ 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>
	<meta name="website" content="http://www.linjw.org" />
</head>
<body>
	<h2>迭代器tag file</h2>
	<%
	// 创建集合对象,用于测试Tag File所定义的标签
	List<String> a = new ArrayList<String>();
	a.add("疯狂Java讲义");
	a.add("轻量级Java EE企业应用实战");
	a.add("疯狂Ajax讲义");
	// 将集合对象放入页面范围
	request.setAttribute("a" , a);
	%>
	<h3>使用自定义标签</h3>
	<tags:iterator bgColor="#99dd99" cellColor="#9999cc"
		title="迭代器标签" bean="a" />
</body>
</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值