2.8.3 使用标签库

2.8.3 使用标签库

JSP页面中确定指定的标签需要两点。

  1. 标签库URI:确定使用哪个标签库。
  2. 标签名:确定使用哪个标签。

使用标签库步骤

使用标签库分成以下两个步骤。

  1. 导入标签库:使用taglib编译指令导入标签库,就是将标签库和指定前缀关联起来
  2. 使用标签:在JSP页面中使用自定义标签。

taglib编译指令语法格式

taglib的语法格式如下:

1
<%@ taglib uri="taglibUri" prefix="tagPrefix" %>

其中

  • uri属性指定标签库的UR,这个URI可以确定一个标签库。
  • prefix属性指定标签库前缀,即所有使用该前缀的标签将由此标签库处理。

使用标签的语法格式如下:

1
2
3
<tagPrefix:tagName tagAttribute="tagValue" ...>
<tagbody/>
</tagPrefix: tagName>

如果该标签没有标签体,则可以使用如下语法格式

1
<tagPrefix:tagName tagAttribute="tagValue" .../>

上面使用标签的语法里都包含了设置属性值,前面介绍的HelloWorldTag标签没有任何属性,所以使用该标签只需用<mytag:helloWorld/>即可。其中mytagtaglib指令为标签库指定的前缀,而helloWorld是标签名。
下面是使用helloWorld标签的JSP页面代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!-- 导入标签库,指定mytag前缀的标签,
由URI为http://www.crazyit.org/mytaglib的标签库处理 -->
<%@ taglib uri="http://www.crazyit.org/mytaglib" prefix="mytag"%>
<!DOCTYPE html>
<html>
<head>
<title>自定义标签示范</title>
</head>
<body bgcolor="#ffffc0">
<h2>下面显示的是自定义标签中的内容</h2>
<!-- 使用标签 ,其中mytag是标签前缀,根据taglib的编译指令,
mytag前缀将由URI为http://www.crazyit.org/mytaglib的标签库处理 -->
<mytag:helloWorld/><br/>
</body>
</html>

以上页面的代码:

1
<%@ taglib uri="http://www.crazyit.org/mytaglib" prefix="mytag"%>

指定了URIhttp://www.crazyit.org/mytaglib的标签库,并将这个标签库的前缀设置为mytag,
代码

1
<mytag:helloWorld/>

表明使用mytag前缀对应标签库里的helloWorld标签。
浏览该页面将看到如图2.34所示的效果。