创建Tag文件步骤:
1.在TBE-INF目录下创建一个tags目录(目录名不可变)
2.在tags文件下创建一个以.tag为后缀的文件(文件名可变)
Tag标记 :
代码解析:
<%@ taglib tagdir="/WEB-INF/tags" prefix="first" %> 指定前缀为first的tag文件是在WEB-INF下的tags目录中的
<first:demo/> 引用的文件名为demo
运行顺序:
1,<first:demo/>代码前,直接运行;
2,遇到<first:demo/>代码,跳转至输入的页面(demo页),全部运行完后返回test页
3,继续运行test页未运行完的代码
Tag指令:
include指令:
与JSP文件的include指令相似
attribute指令:
运行顺序:
1,<first:demo/>代码前,直接运行;
2,遇到<first:demo/>代码,跳转至输入的页面(demo页),全部运行完后返回test页
3,继续运行test页未运行完的代码
两页代码解析:
demo页代码解析:
name="a" 引用test页中名为a的变量
required="true" 在test页中一定要有该名字的变量才能运行
required="false" 在test页中没有该名字变量一样能运行
type="java.lang.String" 该变量的数据类型 (String型可省略)
注意:数据类型必须使用包名(java.lang.String)不可简写为String
test页代码解析:
<first:demo a="tom" c="1000"/> 为a赋值为tom,为c赋值为1000
variable指令:
运行顺序:
1,<first:demo/>代码前,直接运行;
2,遇到<first:demo/>代码,跳转至输入的页面(demo页),全部运行完后返回test页
3,继续运行test页未运行完的代码
两页代码解析:
demo页代码解析:
name-given="sum" 定义一个名为sum的变量
variable-class="java.lang.Double" 该变量数据类型为浮点型(必须为包名)
scope="AT_BEGIN" test页一引用demo页就能用该变量
scope="NESTED" 只能使用该变量名(不能 int a=sum)
scope="AT_END" demo页运行完后才能引用该变量
jspContext.setAttribute("sum",10.0); 为sum赋值为10.0
test页代码解析:
<%=sum %> 直接使用demo页中定义的变量
注意: variable指令和attribute指令同时出现时定义的变量名不能相同