使用 tag 文件定义自定义标签
-----------------------------------------------------------------------
在jsp文件中,可以引用tag和tld文件。
1.对于tag文件
<%@ taglib prefix="ui" tagdir="/WEB-INF/tags" %>
其中的tags是个目录,里面有若干tag文件。
但使用<ti:XXXX>时,目录WEB-INF/tags下,必然有个XXXX.tag文件与之对应。
2.对于tld文件
在jsp中可以引用TLD文件,如
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>
但是这个http://struts.apache.org/tags-html对应着什么呢?
jsp会在当前目录的\WEB-INF下找所有tld文件,确认这个URL对应哪个TLD文件。
当找到struts-html.tld文件时,发现其中的内与这个URL对应。
但使用<html:YYYYY>时,这个TLD文件中必然有个YYYY项与之对应。
还有一种更保险的方法是,在WEB-INF/web.xml中加上
<taglib>
<taglib-uri>
http://jakarta.apache.org/tomcat/examples-taglib
</taglib-uri>
<taglib-location>
/WEB-INF/jsp/example-taglib.tld
</taglib-location>
</taglib>
这样表示http://jakarta.apache.org/tomcat/examples-taglib对应着/WEB-INF/jsp/example-taglib.tld
tag文件作用一般是一段小代码,类似include文件的作用。
tld文件作用比较复杂,可以实现很多高级的作用。
---------------------------------------------------------------------------------------------------------------
1). 可以使用 tag 文件的方式来定义自定义标签. 先前使用过标签处理器类(SimpleTagSupport)来定义自定义标签.
2). 不能直接访问这个 Tag 文件
3). tag 文件是扩展名必须为 tag
4). tag 文件的结构几乎和 JSP 文件相同:
一个 Tag 文件中可以有普通的 HTML 标记符、某些特殊的指令标记、 成员变量和方法的声明、Java 程序片段和 Java 表达式
实际上 tag 文件就是一个 SimpleTagSupport. 所以可以访问 SimpleTagSupport 的所有方法. 但通常情况下, 不需要访问.
5). tag文件只能放在如下位置:
①*. WEB-INF/tags
②*. WEB-INF/tags 的子目录
③. WEB-INF/lib 中 jar 包的 META-INF/tags
④. WEB-INF/lib 中 jar 包的 META-INF/tags 下的子目录
⑤. jar 包中的 tag 文件需要 tld
6). 使用 <taglib> 指令标记引入自定义标签库.
<taglib>指令的格式如下: <%@ taglib tagdir="自定义标记库的位置" prefix="前缀">
7). 若 JSP 页面调用一个 tag 文件时需要动态地向该 tag 文件传递信息, 则需要使用带有标记体的标签, tag 文件通过使用 <jsp:doBody />
标签处理 JSP 页面传递过来的标签体
-------------------------------------------------------------------------------------------------------------
使用 tag 文件定义自定义标签的更多相关文章
- Servlet------>jsp自定义标签5(标签体内容改为大写)
5.把标签体内容改为大写(tld中的配置我就省略了,详细请看jsp自定义标签1) import java.io.IOException; import javax.servlet.jsp.JspExc ...
- 自定义标签 与 JSTL(JSP Standard Tag Library)
1.自定义标签 [理解] [1]简介 > 在JSP2.0以后,在jsp页面中不建议使用脚本片段<% %>和JSP表达式<%= %> ...
- Java Spring Boot VS .NetCore (十一)自定义标签 Java Tag Freemarker VS .NetCore Tag TagHelper
Java Spring Boot VS .NetCore (一)来一个简单的 Hello World Java Spring Boot VS .NetCore (二)实现一个过滤器Filter Jav ...
- django之模板系统 --》内容(filter过滤器、tags标签【for、if、with】、母板以及继承、crf_token、注释、组件、静态文件【load static】、get_static_prefix、自定义标签和tag)
常用: Django模板中只需要记两种特殊符号: {{ }}和 {% %} {{ }}表示变量,在模板渲染的时候替换成值,{% %}表示逻辑相关的操作. 变量 {{ 变量名 }} 变量名由字母数字和下 ...
- java:tag 自定义标签应用
一,tag类 1.1 TagMy标签类,格式化当前日期并输出 package com.dkt.tag; import java.io.IOException; import java.text.Sim ...
- 报错分析---->jsp自定义标签:Unable to load tag handler class
Unable to load tag handler class 无法加载标签处理程序类 处理自定义标签的类中如下: 调用自定义标签的jsp中如下:
- 自定义标签报 无法为TAG [my2:hello]加载标记处理程序类[null]
今天练习jsp自定义标签的时候,等我写好全部和检查万无一失的时候.执行然后报错了 无法为TAG [my2:hello]加载标记处理程序类[null] 我反复检查代码,发现代码也没什么问题.后面通过百度 ...
- JSP自定义tag控件标签
JSP支持自定tag的方法,那就是直接讲JSP代码保存成*.tag或者*.tagx的标签定义文件.tag和tagx文件不仅支持经典jsp代码,各种标签模版代码,还支持xml样式的jsp指令代码. 按照 ...
- javaEE(7)_自定义标签&JSTL标签(JSP Standard Tag Library)
一.自定义标签简介 1.自定义标签主要用于移除Jsp页面中的java代码,jsp禁止出现一行java脚本. 2.使用自定义标签移除jsp页面中的java代码,只需要完成以下两个步骤: •编写一个实现T ...
随机推荐
- CRM SALES ORDER ADD EEWB SEARCH FIELD
1.找到对应的查询结构: T-code:GENIL_MODEL_BROWSER Component Set 输入'ONEORDER' 点击DISPLAY 展开Dynamic Query Object, ...
- 92. Reverse Linked List II 反转链表 II
网址:https://leetcode.com/problems/reverse-linked-list-ii/ 核心部分:通过a.b.c三个变量之间的相互更新,不断反转部分链表 然后将反转部分左右两 ...
- 02.redis安装
因为我这里使用的是centos7 mini版本,需要安装gcc,通过下图显示命令安装gcc(因为redis是由C语言开发而来,所以需要安装gcc编译环境). linux安装好后可以区官网下载redis ...
- Vue入门笔记(一)--基础部分
github地址:https://github.com/iTao9354/basicVue(demo01-28) 一.初识Vue 使用双大括号{{message}}将数据渲染进DOM中. 可 ...
- Linux c 从文件当中读取任意一行的数据
代码如下 #include <stdio.h>#include <stdlib.h>#include <sys/stat.h>#include <sys/ty ...
- NAT资料
第1章 NAT 1.1 NAT概述 1990年代中期,NAT是作为一种解决IPv4地址短缺以避免保留IP地址困难的方案而流行起来的.网络地址转换在很多国家都有很广泛的使用.所以NAT就成了家庭和小型办 ...
- Mac系统在Pycharm中切换解释器
1. 2. 3. 4. 5.
- 海量数据处理之top K问题
题目: CVTE笔试题https://www.1024do.com/?p=3949 搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节. 假设目前有一千万 ...
- [python] 使用Jieba工具中文分词及文本聚类概念
声明:由于担心CSDN博客丢失,在博客园简单对其进行备份,以后两个地方都会写文章的~感谢CSDN和博客园提供的平台. 前面讲述了很多关于Python爬取本体Ontology.消息盒Inf ...
- 清楚理解const_cast类型转换
1.任何使用原常量的地方, 已经直接编码到代码中去了.故后续转换类型并不能改变原定义 2.const_cast转换, 是使用了新指针或者引用,指向了原定义的内存,故而可以修改该内存. 使用也得用新指针 ...