JSP2.0的福利(⑦标签文件)

前言

  本篇接着上一篇博客:[传送门]

  这次讲的是JSP2.0的特性之一,我们可以编写标签文件,指没有标签处理器和标签类库描述符的定制动作指令,不编译,无标签类描述符。

    本文结构:

      ①标签文件简介

      ②第一个尝试标签文件

      #重点:标签文件指令

      ③doBody

      ④invoke

 

标签文件简介

  tag文件只是以tag为后缀名的文本文件。除了jsp页面指令外,其他JSP元素都可以出现在tag文件中页面引用格式。一,不需要编译,只要jsp语法即可,这意味不懂java的人也可以编写。二,不许需要面搜标签库描述符。

   格式:

  <%@ taglib prefix="test" tagdir="/WEB-INF/tags" %>

      tagdir:用于指定tag文件目录,当页面使用<ui:xxxx>进,会查找该目录下对应的xxxx.tag文件。

      prefix:指定使用时标签前缀

 

  使用:

<test:xxxx/>

  

第一个标签文件

  包结构图和效果图(将服务器当前时间显示):

     JSP2.0的福利(⑦标签文件)             JSP2.0的福利(⑦标签文件)

    感兴趣不?往下看吧

 

  firstTag.tag:

JSP2.0的福利(⑦标签文件)
<%@ tag import="java.util.Date" import="java.text.DateFormat"%>
<%
    DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.LONG);
    Date now = new Date(System.currentTimeMillis());
    out.println(dateFormat.format(now));
%>
JSP2.0的福利(⑦标签文件)

  firstTagTest.jsp

<%@ taglib prefix="easy" tagdir="/WEB-INF/tags" %>
Today is <easy:firstTag/>

 

#重点:标签文件指令

  taglibincludeattributevariable

1

<%@ tag display-name="" body-content="" dynamic-attributes="" small-icon="" large-icon="" description="" example=""language="" import="" pageEncoding="" isELIgnored="">

 

  #tag 指令如同JSP网页的page指令,用来设定标签文件。

  #display-name表示图形化开发工具显示<display-name>所指定 的名称;

  #body-content表示可能的值有三种,分别是emptyscriptlesstagdependentempty

    empty为标 签中没有主体内容,

    scriptlet为标签中的主体内容ELJSP动作元素,但不可以为JSP脚本元素,

    tagdependent表示标签中的主体内 容交由tag自己去处理,默认值为scriptless

  #dynamic-attributes表示设定标签文件动态属性的名称,dynamic- attributes设定时,将会产生一个Map类型的集合对象,用来存放属性的名称和值;

  #small_icon表示在图形化开发工具显 示<small-icon>所指定的TLD相对路径的小图标,大小为16X16

  #large-icon表示在图形化开发工具显 示<large-icon>所指定的TLD相对路径的大图标,大小为32X32

  #description表示用来说明此标签文件的相关信 息;

  #example表示用来增加更多的标签使用说明,包括标签应用时的范例;

  #languageimportpageEncoding、 isELIgnored这些属性与page指令相对应的属性相同。

 

2

<%@ attribute name="" required="" fragment="" rtexprvalue="" type="" description=""%>

 

 

 

  这 个指令用来设定自定义标签的属性。其中name表示属性的名字;

  required表示是否为必要,默认为false

  rtexprvalue表示属性值是 否可以为run-time表达式。如为true,表示属性可用动态的方式来指定,如:<mytag:read num="${param.num}"/>,如为false,则一定要用静态的方式来指定属性值;

  type表示这个属性的类型,默认值为 java.lang.Stringdescription用来说明此属性的相关信息

 

3

<%@ variable name-given="" name-from-attribute="" alias="" variable-class="" declare="" scope="" desription="">

 

 

 

  这 个指令用来设定标签文件的变量。其中name-given表示直接指定变量的名称;

  name-from-attribute表示以自定义标签的某个属性值 为变量名称;

  alias表示声明一个局部范围属性,用来接收变量的值;variable-class表示变量的类名称,默认值为 java.lang.String

  declare表示此变量是否声明默认值为truescope表示此变量的范围,范围是:AT_BEGIN、 AT_ENDNESTED,默认值为NESTEDdescription用来说明此变量的相关信息

 

新知识点-doBody

新知识点-invoke

  明天补上去哈哈!

JSP2.0的福利(⑦标签文件),布布扣,bubuko.com

JSP2.0的福利(⑦标签文件)

上一篇:在浏览器中 编译php程序例子时,老是报NOTICE错误


下一篇:C# web导出到excel(转)