Tag文件的创建与应用
Tag文件,几乎和JSP文件一模一样,可以被JSP页面动态加载调用。Tag文件有什么优势呢(既然和JSP几乎一模一样,那就得想想这个必然有不一样的地方,不然要它存在干嘛)
- 在设计Web应用时,可以通过编写Tag文件实现代码复用。
- 可将JSP页面中的关于数据处理的代码放在一个Tag文件中,让JSP页面只负责显示数据。即通过使用Tag文件将数据的处理和显示相分离,方便web项目的维护
1.在WEB服务目录下创建如下目录结构
Web服务目录\WEB-INF\tags,
没错,就是你想的那样,在WEB-INF下建一个tags文件夹,把tags文件放在那里
tags文件下一般来说会建一些tag库,lib1,lib2,lib3.....(这种标号式的命名方式可别学)
Web服务目录\WEB-INF\tags\lib1
2.创建tag文件
其实和jsp差不多,模仿一下下面
<%@tag pageEncoding="GB2312" %>
<p>这是一个Tag文件,负责计算1~100内的奇数之和</p>
<%int sum=0, i=1;
for (i=1;i<=100;i++) { sum=sum+i; }
out.println(sum);%>
大致会是如图所示
2.引入tag文件
<%@ taglib tagdir="自定义标记库的位置" prefix="前缀" %>
在jsp文件顶部写这样的标签,如本文例子就写为
<%@ taglib tagdir="/WEB-INF/tags/lib1" prefix="beijing" %>
在jsp中调用标签
<beijing:AddSum/>
就可以调用目录下lib1库中的AddSum.tag了。
这里,一开始学我也有点蒙,前缀是啥用,书上写了
通过前缀可以有效地区分不同标记库中具有相同名字的标记文件
这样有些明白了吧,就是给标记库取一个别名,以防各种库的tag混在一起,同名tag会有歧义
Tag文件的创建与应用的更多相关文章
- Azure ARM (13) 从现有VHD文件,创建新的ARM VM
<Windows Azure Platform 系列文章目录> 本文参考了Git Hub的ARM Template: https://github.com/Azure/azure-quic ...
- Java 基础【13】 文件(文件夹) 创建和删除
使用 java.io.file 创建文件(文件夹),算是 java 最基础的知识,但实战项目中还是需要知晓细节. 比如 File 类中的 mkdir() 和 mkdirs() 的区别. JDK API ...
- 用 C# 轻松读取、改变文件的创建、修改、访问时间
创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt&q ...
- JSP 中的 tag 文件
在jsp文件中,可以引用 tag 和tld 文件,本文主要针对 tag 对于tag 文件 1)将此类文件放在 WEB-INF 下,比如 /WEB-INF/tags,tags 是目录,其下可以有多个.t ...
- Linux_文件及文件夹[创建][复制][移动][删除][重命名]
一.文件/文件夹创建 1.文件的创建 touch , vi/vim/nano , ... 语 法: touch [-acfm][-d <日期时间>][-r <参考文件或目 录&g ...
- Hibernate配置文件与映射文件的创建
1. config文件的创建: 内容: <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hib ...
- git tag查看、创建与删除
tag管理 查看tag 太多的话用 grep 过滤 $ git tag | grep dev_20150525 # 创建tag $ git tag -a dev_20150525_16 -m 'xxx ...
- OC6_目录及文件的创建
// // main.m // OC6_目录及文件的创建 // // Created by zhangxueming on 15/6/19. // Copyright (c) 2015年 zhangx ...
- [转]C# FileSystemWatcher监控指定文件或目录的文件的创建、删除、改动、重命名等活动
觉得这个很常用..比如一些软件. http://www.rabbit8.cn/DoNet/407.html FileSystemWatcher控件主要功能: 监控指定文件或目录的文件的创建.删 ...
随机推荐
- 为什么使用 npm Scripts 构建项目
http://www.css88.com/archives/7025#more-7025 https://github.com/damonbauer/npm-build-boilerplate 这个我 ...
- application Initialization设置导致处理程序ExtensionlessUrlHandler-Integrated-4.0在其模块列表中有一个错误模块问题的解决
HTTP 错误 500.21 - Internal Server Error 处理程序“ExtensionlessUrlHandler-Integrated-4.0”在其模块列表中有一个错误模块“Ma ...
- 将一个xml文件解析到一个list中
public List<News> getListFromXml(InputStream in) { XmlPullParser parser = Xml.newPullParser(); ...
- Oracle 12c的自增列Identity Columns
在Oracle的12c版本中,Oracle实现了类似MySQL中的auto_increment的自增列,下面我们看一起Oracle是怎么实现的. Oracle Database 12c Enterpr ...
- 每天CSS学习之border-spacing
border-spacing是CSS2的一个属性.其作用是规定表格的相邻单元格边框之间的距离.如果表格的border-collapse属性值为collapse时,border-spacing设置无效. ...
- Android system :灯光系统_HAL_lights
一.android灯光系统框架: Java: frameworks/base/services/core/java/com/android/server/lights/LightsService.ja ...
- 3.10 C++虚基类 虚继承
参考:http://www.weixueyuan.net/view/6367.html 总结: 本例即为典型的菱形继承结构,类A中的成员变量及成员函数继承到类D中均会产生两份,这样的命名冲突非常的棘手 ...
- 理解K系列与ultra-scale的区别
总结: K系列FPGA与KU系列FPGA的主要区别,体现在: (1)工艺制程不一样,K-28nm,KU-20nm: (2)Ultra-Scale采用SSI:大容量K系列也采用SSI,SSI为了 ...
- poj1742(多重背包分解+01背包二进制优化)
Description People in Silverland use coins.They have coins of value A1,A2,A3...An Silverland dollar. ...
- 用Filter实现图片防盗链
首先继承自FilterAttribute类同时实现IActionFilter接口,代码如下: //// <summary> /// 防盗链Filter. /// </summary& ...