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控件主要功能: 监控指定文件或目录的文件的创建.删 ...
随机推荐
- 你应该这样理解JVM内存管理
在进行Java程序设计时,一般不涉及内存的分配和内存回收的相关代码,此处引用一句话: Java和C++之间存在一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外的人想进去,墙里面的人想出来 ,个人从这 ...
- CCF关于NOIP2018获奖证书发放的公告
CCF定于即日起开始受理NOIP2018获奖证书申请.凡获得NOIP2018复赛提高组和普及组一二三等奖的选手均可申请证书.本次获奖证书有电子版和纸质版两种.电子版证书免费发放,纸质版证书收取部分工本 ...
- Dell灵越 5559笔记本安装固态硬盘 BIOS设置
固态硬盘的安装这里就不详细说明了,安装一共有两种 直接把原有的磁盘卸了,换成SSD(这种方法最简单) 另一种是把光驱卸掉,然后换上SSD(这里建议把原来的磁盘换到光驱里面,把SSD加到原来磁盘安装的位 ...
- SQL-5查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
输出描述: 题目描述 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工CREATE TABLE `dept_emp` (`emp_ ...
- minifilter
暑假刚开始的时候,参照<寒江独钓>这本书,用VS2015写过的一个minifilter的框架,今天在博客上分享出来. VS2015已经有了minifilter的框架模板,直接生成了mini ...
- BeanUtils出现Java.lang.NoClassDefFoundError解决
问题描述: javaWeb项目中导入了BeanUtils的两个包,但是还是出现Java.lang.NoClassDefFoundError: org/apache/commons/beanutils/ ...
- java中String的认识
String不是Java的基本数据类型.String类是final类,故不可继承. String 和 StringBuffer之间的区别非常大,Java平台提供了两个类,两者都是包含多个字符的的字符数 ...
- ubuntu 搭建ss和使用方法
一 ubuntu 搭建ssa.安装 sudo apt-get install python-gevent python-pip python-m2crypto sudo pip insta ...
- <Spark><Programming><Loading and Saving Your Data>
Motivation Spark是基于Hadoop可用的生态系统构建的,因此Spark可以通过Hadoop MapReduce的InputFormat和OutputFormat接口存取数据. Spar ...
- springsecurity的退出登陆
登陆成功就有退出,退出的实质就是让session失效 要实现退出登录只需要在spring-security配置文件中在加一行代码就可以了 <!--退出登陆--> <security: ...