JSP
网页应用程序开发
网页应用程序开发
教学目的:了解标记文件的创建和使用
3.1 标记文件的结构
标记(Tag)是JSP实现代码复用的机制之一
标记文件的扩展名为.tag,结构与JSP文件类似
标记文件可以被JSP页面调用,但用户不能直接访问
标记文件必须存放在指定目录下:
Web应用程序目录\WEB-INF\tags
(tags目录下还可以创建子目录,名称可自定义)
例:使用标记文件在页面中添加相同的页脚
在ROOT\WEB-INF\tags下创建footer.tag:
<%@ tag pageEncoding="utf-8" %> <p>义乌工商学院机电信息分院 联系电话:88886666</p>
在JSP页面中用taglib指令定义标记库:
<%@ taglib tagdir="/WEB-INF/tags" prefix="leo" %>
在JSP页面中使用此自定义标记:
<leo:footer />
注意:如果在Dreamweaver中无法打开.tag文件,可以在菜单栏中选择“编辑”>“首选参数”>“文件类型/编辑器”,找到“在代码视图中打开”文本域,在其中添加.tag即可解决问题。
3.2 自定义标记的使用
引入自定义标记库:
<%@ taglib tagdir="/WEB-INF/tags/子目录" prefix="前缀" %>
使用自定义标记:
<标记库前缀:标记名 />
<标记库前缀:标记名>标记体</标记库前缀:标记名>
在标记文件中引用标记体:
<jsp:doBody />
例:格式化标记体
在ROOT\WEB-INF\tags下创建notice.tag:
<font color="red"><b><jsp:doBody /></b></font>
在JSP页面中用taglib指令定义标记库:
<%@ taglib tagdir="/WEB-INF/tags" prefix="leo" %>
在JSP页面中使用此自定义标记:
<leo:notice>热烈欢迎!</leo:notice>
3.3 标记文件中的常用指令
Tag指令:类似于JSP文件中的Page指令,用于设置字符编码、引入类等
<%@ tag pageEncoding="utf-8" import="java.io.*" %>
Taglib指令:用于在标记文件中使用其他自定义标记
<%@ taglib tagdir="/WEB-INF/tags/new" prefix="new" %>
Attribute指令:用于设置标记可用的属性
<%@ attribute name="属性名" required="true或false" type="类型"%>
例:格式化标记体的改进
修改notice.tag添加字体颜色属性
<%@ attribute name="fontcolor" %> <font color="<%= fontcolor %>"><b><jsp:doBody /></b></font>
在JSP中添加带属性设置的标记
<leo:Notice fontcolor="blue">热烈欢迎!</leo:Notice>
Variable指令:用于向JSP页面返回变量
<%@ variable name-given="变量名" scope="AT_END或AT_BEGIN或NESTED" variable-class="类型" %>
例:页脚标记的改进
修改footer.tag添加开发者变量
<%@ variable name-given="developer" scope="AT_END" %> <% jspContext.setAttribute("developer", "开发者:leo"); %>
在JSP页面中输出标记返回的变量
<%= developer %>
博主 in 教程 01:47下午 9月 22, 2012
Tags: 教学