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控件主要功能: 监控指定文件或目录的文件的创建.删 ...
随机推荐
- fzu1977
题解: 和前两题差不多 只不过变成了有些一定走,有些不一定 代码: #include<cstdio> #include<cmath> #include<algorithm ...
- Linux十字病毒查杀处理
之前处理过一次十字病毒,但未好好整理处理过程,现在转载一篇来自51cto的文章. 转自:http://blog.51cto.com/ixdba/2163018 十字符病毒,杀不死的小强,一次云服务器沦 ...
- JavaScrip(一)JavaScrip的写法
一:如何写JavaScript 1.直接写入 <scricp type="text/javascricp >*********</scricp> 直接写到标签里面. ...
- .net core 之Hangfire任务调度
Hangfire可用作任务调度,类似延迟任务.队列任务.批量任务和定时任务等. 一.nuget Hangfire包 找到Hangfire.AspNetCore和Hangfire.SqlServer包, ...
- css文件 如何使背景图片大小适应div的大小
对背景图片设置属性:background-size:cover;可以实现背景图片适应div的大小. background-size有3个属性: auto:当使用该属性的时候,背景图片将保持100% 的 ...
- 重载方法写delete请求
#encoding=utf-8#__author__="Lanyangyang" import unittestimport requestsimport json # This ...
- UGUI动态绑定事件
using System.Collections.Generic;using UnityEngine;using UnityEngine.EventSystems;using UnityEngine. ...
- 运用HTML5+CSS3和CSS滤镜做的精美的登录界面
原始出处http://chenjinfei.blog.51cto.com/2965201/774865 <!DOCTYPE HTML> <html> <head> ...
- Oracle触发器报错
Oracle编写触发器时,执行时候报错,错误提示信息如上图所示,类似这种一般都是触发器语句有语法错误.重新审核语句,并再次执行. 如果用的是pl/sql developer的话,可以查看当前用户下的对 ...
- Flask源码阅读-第一篇(flask包下的__main__.py)
源码: # -*- coding: utf-8 -*-""" flask.__main__ ~~~~~~~~~~~~~~ Alias for flask.run for ...