Tag文件与Tag标记

1.tag的基本知识

扩展名为.tag的文本文件,其结构几乎和jsp文件相同。

tag文件存放在/WEB_INF/tags文件夹下,再此文件夹下可以创建子目录和tag文件

3.在jsp中如何调用

(1)调用无参的tag文件

<%@ taglib tagdir="路径" prefix="别名"%>

如果直接调用的话,直接在某个位置写一下代码,就可以直接调用

<%@ page language="java" contentType="text/html; charset=GB2312"
    pageEncoding="UTF-8"%>
<%@ taglib tagdir="/WEB-INF/tags"  prefix="add"%>




Tag test


how to use Tag 
 //调用add.tag文件

(2)含简单标记体的tag的调用


标记体

3.tag文件中常用指令

(1)tag指令

tag指令类似于jsp文件中的page指令。tag文件通过使用tag指令可以指定某些属性的值,便从整体上影响tag文件的处理和表示。

body-content   language(当前只能是java)  import(导入相应要用到的包)   pageEncoding(页面编码)

pagecontent属性

通过属性的值来决定是否是允许有标记体,或者标记体的类型

<%@ tag body-content="scriptless" language="java" pageEncoding="ISO-8859-1" %>

(2)attribute指令

tag文件充当着可复用代码的角色,如果一个tag文件允许使用他的jsp文件来参数,就使得jsp功能更加强大,使用attribute来传递数据

其中变量声明的格式如下:

<%@ attribute name="对象名字"  required="true"|"false"  type="对象的类型"%>

name是必须的指定指定变量的名字。type是指定变量的类型,例如:java.util.Date,默认为java.lang.String类型

<%@ tag body-content="scriptless" language="java" pageEncoding="UTF-8" %>
<%@ tag import="java.lang.String" %>
<%@ attribute name="stuname" type="java.lang.String" %>
<%@ attribute name="stuage"  type="java.lang.Integer" %>
<%
//接受页面传过来的数据
String myname=stuname;
int  myage=stuage;
%>

<%=myname%><%=myage%>

test.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib tagdir="/WEB-INF/tags"  prefix="add"%>




Tag test


how to use Tag 

姓名 年龄

(3)variable指令

通过variable指令可以实现从tag向jsp页面传递数据

<%@ variable name-given="对象名字" variable-class="对象的类型" scope="有效的范围"%> 

variable-class写类型的时候要带包名:java.lang.Integer/java.lang.Double.....

scope有效的范围是指定对象的有效范围,可以取的值为:AT_BEGIN   AT_NESTED  AT_END

对象的返回

tag文件为了给jsp返回一个对象,就必须将对象的名字以及该对象的引用存储到tomcat的内置对象jspContext中,tag文件只有将对象内知道jspContext中jsp中才能够使用对象。

<%@ tag import="java.util.Date"%>
<%@ variable name-given="time" variable-class="java.util.Date" scope="AT_END"%>
<%
 jspContext.setAttribute("time",new Date());
%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib tagdir="/WEB-INF/tags"  prefix="add"%>




Tag test


how to use Tag 

当前时间<%=time%>

 

 

 

 

 

 

 

你可能感兴趣的:(Tag文件与Tag标记)