2023-07-27 16:37

Jsp中的include指令和tablib指令

wanmatea

JavaEE

(661)

(0)

收藏

1.include指令

Include指令的功能是在JSP编译时插入包含的文件。包含的过程是静态的。它可以把内容分成更多可管理的元素,如包括普通页面的页眉或页脚的元素。包含的文件可以是JSP、HTML、文本或是Java程序。

include指令的语法:

<%@ include file="relativeURL" %>

其中只有一个file属性,这个属性指定了被包含文件的路径。

如果路径是以"/"开头的,那么这个路径应该就是相对于JSP应用程序上下文而言的。而如果以目录名或文件名开头则是以JSP文件所在路径为当前路径而言

例如:

"header.jsp"

"/templates/onlinestore.html"

"/beans/calendar.jsp"

在JSP中,你可以用Include指令将JSP文件,HTML文件,或Text文件包含到一个JSP文件中,这种包含是静态包含,也就是说当使用这种方法包含文件的时候,会将被包含文件的内容插入包含文件中,替换掉<%@ include %>这行语句。如果你包含的是一个JSP文件,那么包含在这个文件中的JSP程序将被执行。

当你使用Include包含一个文件的时候,一定要注意,在被包含文件中不能含有<html>,</html>,<body>,</body>等HTML元素,否则的话会导致执行错误。因为被包含的文件会整个加入到JSP文件中去,这些标记会与JSP文件中类似的标记相冲突。

使用包含文件有以下一些优点:

(1)被包含文件可以在多个文件中被使用,实现了代码共享和重用。

(2)当被包含文件修改后,包含此文件的JSP文件的执行结果也发生变化,这样就提高修改效率,为维护提供方便。

【例】

include.jsp

<html>

<head><title>An Include Test</title></head>

<body bgcolor="white">

The current date and time are

<%@ include file="date.jsp" %>

</font>

</body>

</html>

date.jsp

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

<%= (new java.util.Date()).toLocaleString() %>

上面的例子在执行后,会在客户端的浏览器中显示和下面类似的信息:

The current date and time are

Aug 30,1999 2:38:40


2.taglib指令

taglib指令的功能是使用标签库定义新的自定义标签,在JSP页面中启用定制行为。

taglib指令的语法:

<%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>

例如

<%@ taglib uri="http://www.jspcentral.com/tags" prefix="public" %>

<public:loop>

</public:loop>

<% @ taglib %>指令声明此JSP文件使用了自定义的标签,同时引用标签库,也指定了标签的前缀。

这里自定义的标签有标签和元素之分。因为JSP文件能够转化为XML,所以了解标签和元素之间的联系很重要。标签只不过是一个在意义上被抬高了点的标记,是JSP元素的一部分。JSP元素是JSP语法的一部分,和HTML一样有开始标记和结束标记。元素可以包含其它的文本,标记,元素。使用自定义标签之前必须使用<% @ taglib %>指令,而且可以在一个页面中多次使用,但是同一前缀只能引用一次。

URI根据标签的前缀对自定义的标签进行唯一的命名prefix="tagPrefix",在自定义标签前的前缀,比如,在<public:loop>中的public,如果不写public,就是不合法的。请不要用jsp, jspx, java, javax, servlet, sun, 和sunw作为前缀。

0条评论

点击登录参与评论