标记文件

来源:互联网 发布:photoshop cc mac补丁 编辑:程序博客网 时间:2024/05/01 06:32
  1. 标记文件:一种轻型的标记处理器,本质是JSP,使用标记文件创建定制标记,页面开发人员不用编写复杂的java标记处理器类
  2. 创建标记文件:
    1. 把一个被包含文件(eg:Header.jsp)重命名为 .tag后缀
    2. 将标记文件放在WEB-INF目录下的"tag"目录中
  1. 使用标记文件:
    1. 先在JSP中调用taglib指令:
      1. <%@ taglib prefix="myTags"  tagdir="/WEB-INF/tags"  %>
      2. prefix:前缀
      3. tagdir:标记文件的位置
    2. 在JSP中使用标记:
      1. <myTags:Header />

<前缀名:标记文件名>

  1. 标记文件的指令:
    1. attribute指令:
      • attribute指令只能由标记文件使用
      • 标记文件发送的不是请求参数,而是标记属性
      • 所有标记的属性都只有标记作用域
      1. 在标记文件中声明属性:
        1. <%@ attribute name="subTitle"  required="true"  rtexprvalue="true"  %>

 name:属性名:

 required:属性是否可选,true:不可选、false:可选

 rtexprvalue:是否可以为EL表达式,

true:可以是String直接量,也可以是表达式

false:只能为String直接量

  1. 在标记文件中使用属性:
    • <em><strong>${subTitle}</strong></em><br>
  1. JSP中调用有属性的标记:
    • <myTags:Header  subTitle="We take the Stirng ......"  />
  1. tag指令:相当于JSP页面的page指令,用于设置标记的body-content
    1. 语法:

<%@ tag body-content="xxxxx"  %>

body-content:标记体的内容

emty:标记体为空

tagdependent:把标记体看作纯文本

scriptlet:默认值

  • 标记文件标记的体中不能使用脚本代码
  • 标记文件的body-content默认值为"scriptlet",只有当body-content是另外两个值时才需要使用tag指令
  1. 容器会在4个位置中查找标记文件:
    • 直接在WEB-INF/tags目录中查找
    • WEB-INF/tags的子目录中查找
    • WEB-INF/lib下一个JAR文件的META-INF/tags的子目录中查找
    • WEB-INF/lib下一个JAR文件中的META-INF目录中查找
    • 如果标记文件部署在一个JAR中,就必须有一个TLD
  1. 标记文件可以访问requestresponseJspContent隐式对象,但不能访问ServletContext
0 0
原创粉丝点击