JavaWeb JSP标签文件-动态/静态标签

标签是用来干什么的?

JSP中的标签,或者说标签扩展(tag Extension)实际上是一个Java类,更进一步说,是一个实现了接口javax.servlet.jsp.tagext.jspTag的JavaBean。它
使编程员可把复杂、重复的代码或任务封装起来,这些代码可以简单形式被重用。标签库包含一组功能相关的、用户定义的XML标签。

4.1 标签文件

标签文件以”.tag”为扩展名,分为静态标签文件和动态标签文件。程序员可以使用它取出一段JSP代码,并通过定制功能来实现代码的重用。

4.1.1 静态标签文件

静态标签文件没有参数的传递。

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

prefix:命名空间前缀.
tagdir:标记文件所在目录,告诉容器在一个指定目录中查找一个标记库的标记文件实现。这个属性必须包含一个以/WEB-INF/tags开始的路径。
实例:

<%@ taglib prefix="p" tagdir="/WEB-INF/tags"%>
<%@page pageEncoding="GBK"%>
<html>
<body>
	<h2>
		1<p:china/>
		2<p:usa/>
	</h2>
</body>
</html>

china.tag:

<h2>this is china tag</h2>

usa.tag:

<h2>this is USA tag </h2>

程序说明:
<%@ taglib prefix=“p” tagdir="/WEB-INF/tags" %>
prefix=“p”,表示命名前缀为”p”, tagdir="/WEB-INF/tags",表示标记文件所在目录"/WEB-INF/tags",在该目录下有两个标记文件china.tag和usa.tag。
<p:china/>输出标记文件china.tag的内容this is china tag。
<p:usa/>输出标记文件usa.tag的内容this is USA tag。

运行结果:
在这里插入图片描述
注意:tag文件必须放在/WEB-INF/tags目录下,放在/WEB-INF/下是不行的。

4.1.2动态标签文件

动态标签文件有参数的传递。
实例:

<%@ page contentType="text/html; charset=gb2312" language="java"%>
<%@ taglib prefix="tags" tagdir="/WEB-INF/tags"%>
<%--上述代码是对该标签文件引用声明--%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>动态标签文件的应用</title>
</head>
<body>
	动态标签输出的内容为:
	<br>
	<tags:jsp name="月薪5000" size="2" align="left">
    jsp初级程序员
    </tags:jsp>
	<tags:jsp name="月薪10000" size="3" align="center">
    jsp中级程序员
    </tags:jsp>
	<tags:jsp name="月薪15000以上" size="4" align="right">
    jsp高级程序员
    </tags:jsp>
</body>
</html>

jsp.tag:

<%@ attribute name = "name"%>
<%@ attribute name = "size"%>
<%@ attribute name = "align"%>
<table width="339" height="41" border="1">
  <tr>
    <td  align="${align}">${name}</td>
    <td  align="${align}"><font size = "${size}"><jsp:doBody/></td>
  </tr>
</table>

程序说明:
在jsp.tag中,
<%@ tag body-content=scriptless”%>相当于jsp页面中page指令。
<%@ attribute %>这个指令只能由标记文件使用。
<%@ attribute name = “name”%>参数名字为name。
<%@ attribute name = “size”%>参数名字为size。
<%@ attribute name = “align”%>参数名字为align。
jsp:doBody/表明取得标记体中内容并放在这里。
在index.jsp中,
<tags:jsp name=“月薪5000” size=“2” align=“left”>
Jsp初级程序员
</tags:jsp>
参数name取值"月薪5000",size取值"2",align取值"left",Jsp初级程序员为标记体。

运行输出:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

废人一枚

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值