JSP实用教程(3)——Tag文件和Tag标记
文章目录
- Tag文件与Tag标记
- Tag文件
- Tag文件的结构
- Tag文件的保存
- Tag标记
- Tag标记
- Tag标记的使用
- Tag文件中的常用指令
- tag指令
- variable指令
- taglib指令
Tag文件与Tag标记
Tag文件可以被JSP页面动态加载调用,实现代码的复用
Tag文件
Tag文件的结构
- 普通的HTML标记符
- 某些特殊的指令标记
- 成员变量声明和方法的定义
- Java程序片 Java表达式
例:oddNumberSum.tag
<%@ tag pageEncoding="utf-8" %>
<p style="font-family:宋体;font-size:36">
1~100内的奇数之和:
<% int sum=0,i=1;for(i=1;i<=100;i++){if(i%2==1)sum=sum+i;}out.println(sum);
%>
</p>
Tag文件的保存
Tag文件必须保存在某个Web服务目录下,具体目录结构:
ch3\WEB-INF\tags
其中WEB-INF\tags是固定的目录名称。ch3是Web服务目录,也就是jsp文件所在的目录。
保存时,要按Tag文件中指定的编码保存,如:上面例子中是utf-8编码,则在保存时将编码选择为“UTF-8"编码。
Tag标记
Tag标记
JSP页面必须通过Tag标记来调用一个Tag文件。标记名字和文件名字一致。
<Tag文件名 />
或
<Tag文件名> 其他内容</Tag文件名>
Tag标记的使用
在JSP页面使用Tag标记调用Tag文件前,必须使用taglib指令标记引入该Web服务目录下的标记库。
引入库:
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
使用prefix属性指定的前缀调用:
<computer:Tag文件名/>
冒号左右不要有空格
调用上面提到的tag文件:
<%@ page contentType = "text/html" %>
<%@ page pageEncoding = "utf-8" %>
<%@ taglib tagdir = "/WEB-INF/tags" prefix = "computer"%>
<HTML><body bgcolor = cyan>
<h1>调用Tag文件计算100内奇数和:</h1>
<computer:oddNumberSum /> <%-- 使用Tag标记 --%>
</body></HTML>
Tag文件中的常用指令
tag taglib include attribute variable
tag指令
类似于page指令
<%@ tag属性1=”属性值“>
(1)language指令:指定Tag文件的脚本语言,只能取Java
(2)include指令:
(3)attribute指令:让使用它的JSP页面向该Tag文件传递需要的数据。
<%@ attribute name="对象名字" [required="true"|"false"][ type="对象的数据"]%>
type必须使用包名,例如:java.lang.Double。默认类型为java.lang.String。
attribute name 是要传递的对象的名字。
required为true时,调用tag文件必须向name中对象传递一个引用。
myTag文件中有一个result对象,等待JSP页面传递一个Double型引用:
<%@ attribute name="result" required="true" type="java.lang.Double"%>
调用并传递一个参数给变量result:
<computer:myTag result="new Double(3.1415926)"/>
variable指令
将Tag文件中的对象返回给调用Tag文件的JSP页面
<%@ variable name-given="对象名" variable-class=”对象类型" scope="有效范围"%>
name-given:Tag文件中要返回给JSP的对象。
variable-class:对象的类型,必须带有包名,默认java.lang.String
scope:取值AT_BEGIN、NESTED和AT_END,分别代表可以在标记体中和标记后使用该对象、只能在标记体中使用、只能在标记结束后使用。
只有将返回的对象名和该对象的引用存储到Tomcat服务器提供 的内置对象jspContext中,JSP页面才能使用该对象。
存储名字是time的LocalDate对象及该对象的引用:
jspContext.setAttribute("time",LocalDate.now());
Tag文件同时使用variable指令和attribute指令,则前者的name-given和后者的name给出的对象不能相同(否则出现编译错误)
taglib指令
引入标记库
<%@ taglib tagdir="/WEB-INF/tags" prefix="computer"%>
JSP实用教程(3)——Tag文件和Tag标记相关推荐
- JSP实用教程-第三章Tag文件与Tag标记
目录 3.1 Tag文件 3.1.1Tag文件的结构 3.1.2Tag文件的保存 3.2 Tag标记 3.2.1 Tag文件和Tag标记 3.2.2 Tag标记的使用 3.2.3 Tag标记的运行原理 ...
- Tag文件和Tag标记的用法详解
Tag文件和Tag标记 目录 1.为什么要使用Tag文件 2.Tag文件的结构 3.Tag文件的存储目录 4.Tag标记 5.Tag文件中常用的指令 1)tag指令 2)attribute指令 3)v ...
- Tag文件与Tag标记
目录: 1.Tag文件 2.Tag标记 3.Tag文件中的常用指令 1.1Tag文件的结构 Tag文件 的拓展名为.Tag的文本文件,其结构与JSP文件类似.一个Tag文件可以有普通的HTML标记符. ...
- C#实用教程-操作xml文件
C#实用教程-操作xml文件 C#实用教程-操作xml文件 引言:什么是xml文件 Xml的特征 Xml的格式 与HTML的区别 对Xml进行操作 读取xml文件: 当前xml文件内容如下: 创建xm ...
- java自定义tag,tag文件与tag标记,java自定义标签
上一篇我们讲了如何使用TAG简化我们的basePath获取,现在我们再来谈谈TAG另外的一个用处,使用场景说明:很多时候,我们从后台获取的时间参数(从数据库中读取的)是这种格式的:1994123012 ...
- JSP实用教程——第二章JSP语法
目录 2.1 JSP页面的基本结构 2.2 声明变量和定义方法 2.2.1 声明变量 2.2.2 定义方法和类 2.3 Java程序片 2.4 Java表达式 2.5 JSP指令标记 2.5.1 pa ...
- java web JSP实用教程第二章
JSP页面的基本结 普通的HTML标记和JavaScript标记<!-JSP指令标记--> JSP标记,如动作.指令标记<% @ %> 变量的方法和声明<%! %&g ...
- JSP实用教程第二章-JSP语法
目录 前言 2.1 JSP页面的基本结构 2.2声明变量和定义方法 2.2.1 声明变量 2.22 定义方法和类 2.3Java程序片 2.4Java表达式 2.5 JSP中的注释 2.6 JSP指令 ...
- 《JSP实用教程(第4版)》第2章学习笔记
1.jsp组成结构 java由下面五种结构组成: html标记和js标记 变量及方法的声明 JAVA程序片 JAVA表达式 2.变量及方法的声明 声明变量 格式:<%!(声明变量)%> 位 ...
- JSP实用教程-JSP语法
目录 一.JSP页面的基本结构 一个JSP页面可由5种元素组合而成: 1.普通的HTML标记和JavaScript标记: 2.JSP标记,如指令标记.动作标记: 3.变量和方法的声明: 4.Java程 ...
最新文章
- ionic中的ion-option-button
- 【PAT乙级】1079 延迟的回文数 (20 分)
- 深度解密Go语言之基于信号的抢占式调度
- 「前端工程化」该怎么理解?
- 中断占据CPU时间的计算问题
- python进阶(一)
- C语言程序的语法规范,C语言程序结构和语法规则
- php音乐地址外链,音乐外链地址的获取
- 利用webmagic爬去招聘信息,并输入到Hbase数据库中
- 机器人周志_关于机器人的日记
- 虚拟机安装linux的\/root,pt深海湛蓝爆屏图 -官网
- Beta阶段站立会议-01
- 复现0ctf blog
- 幸福和不幸福是对比出来的
- 将录音转成文字的方法
- 解决 WARNING: Published ports are discarded when using host network mode 问题
- Windows 10 Excel批量导入打印条形码标签免费工具介绍
- Web漏洞之SSRF攻击汇总
- Android实现自定义锁屏控制
- 聊一聊深度学习做寿命预测