JSP中关于tag的学习

tag作用:编写调用tag实现代码复用。能防止用户直接访问tag页面。Include只能做到代码复用,但是不能防止用户在地址栏直接输入地址访问。

优点:     1.实现代码的复用

                   2.分离数据处理代码和数据显示代码,便于web应用的维护,和再开发

tag文件的保存:保存在WEB-INF/tags/下

 

tag标记:

格式一:<Tag 文件名 />

格式二:<Tag 文件名>

                   标记体

                   </Tag 文件名>

在没有标记体的情况下只能用格式一,格式二会将标记体传入tag文件中,用<jsp:doBody/>来得到这个标记体。

 

使用之前必须用taglib指令知名标记库(即他所调用的tag文件保存的相对路径)

格式:<%@ taglib tagdir=”相对路径” prefix=”前缀” %>

调用格式:<前缀:文件名/>

tag文件的编写:

常用指令:tag、variable、include、attribute、taglib

 

tag指令:

格式:<%@tag 属性1=”属性值” 属性2=”属性值”%>

常用属性:     body-content

属性值:         empty(tag不能带标记体)

                                               tagdependent(tag可以带标记体,也可以不带标记体)

                                               scriptless(tag可以带标记体,也可以不带标记体)(默认)

                            language(和jsp中page标记的属性一样)

                            import(和jsp中page标记的属性一样)

                            pageEncoding 指定tag文件的字符编码,默认为”ISO-8859-1”

include指令:(和在jsp中的include指令类似)

 

attribute指令:可以让jsp页面向tag文件传递需要的数据

格式:<%@ attribute name=”对象名” required=”ture”|”false” type=”对象的类型”%>

其中name必须有;required:如果是ture,则必须传递,如果是false,则可传可不传,默认是false;type默认是:java.lang.String类型。

使用:

格式一:<前缀:Tag文件名 对象名=”对象的引用” />

格式二:<前缀:Tag文件名 对象名=”对象的引用”>

                   标记体

                   </前缀:Tag文件名>

 

variable指令:可以使jsp页面动态的传递数据到tag文件中。

格式:

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

其中name-given 必须有;variable-class默认是:java.lang.String类型;scope:AT_BEGIN(一就开始使用)AT_NESTED(只在tag标记的地方使用)AT_END(只有在JSP结束之后才使用variable)

对象的返回

使用jspContex.setAttribute(“对象的名字”,”对象的引用”);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。