- 浏览: 175168 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (140)
- java (138)
- 佳能500d (1)
- 佳能 (1)
- Oracle数据库文档构造器--Oraschemadoc (1)
- EJB调用的原理分析 (1)
- 使用css3画"静音"icon (1)
- 张小庆,在路上(16)-给弟弟找工作 (1)
- Android短信编解码方式 (1)
- lua web 开发 (1)
- zk安装 (1)
- 菜单多国语言化遇到的问题 (1)
- 【转】纯文本配置还是注册表 (1)
- C++ delete删除动态分配的内存 (1)
- eclipse下修改项目名导致tomcat内发布名不一致的解决方法 (1)
- Lucene实现各种常见文档的全文检索 (1)
- 项目风险之人员流动风险 (1)
- 时空数据模型简介 (1)
- XSLT学习笔记 (1)
- 依然是计划 如果没有计划似乎就没有了动力 (1)
- How to Succeed in A Professional Career (1)
- 编程环境应该和讨论社区完美的进行结合 (1)
- C#坦克大战实现 (1)
- 电脑用户密码忘记了怎么办? (1)
- java.lang.NoClassDefFoundError: org/dom4j/DocumentException (1)
- 关于成立北京Android爱好者俱乐部的声明 (1)
- Android开发之初探音频的播放 (1)
- Struts标签循环List (1)
- CAP原理 (1)
- javabean的自动生成 (1)
- 打开CMD一闪就关的解决方案 (1)
- 我是项目经理,我的项目管理日记【20111202】 (1)
- Html5游戏开发入门笔记--<躲砖块> (1)
- mysql中查看和设置系统字符编码 (1)
- PhoneGap-Accelerometer (1)
- [Jetty]Jetty工作原理 (1)
- Ibatis+Spring整合实例Demo+源码 (1)
最新评论
-
u012985907:
dsdsdsdsd
FLASH上传与拍照 -头像-avatart -
a379933101:
?????????????????????????????
android listview 连续调用 getview问题分析及解决 -
151tmac:
拜托下次粘贴的时候,粘贴为纯文本
android listview 连续调用 getview问题分析及解决 -
liudezhong135:
...
Spring3MVC 在JSP中使用@ModelAttribute -
香飘飘2011:
要是不知道层次级别,如何退回到根目录呢
FTP退回到根目录
1. taglib的编写
taglib用于将呈现逻辑进行封装。
它必须继续自tagsupport类。
下面是一个简单的例子:
package org.topxp.taglib;
import java.io.ioexception;
import java.util.date;
import javax.servlet.jsp.jspexception;
import javax.servlet.jsp.jspwriter;
import javax.servlet.jsp.tagext.tagsupport;
public class outtag extends tagsupport {
/**
* @see javax.servlet.jsp.tagext.tagsupport#doendtag()
*/
@override
public int doendtag() throws jspexception {
jspwriter out = this.pagecontext.getout();
try {
out.println("当前的时间是:" new date());
} catch (ioexception e) {
throw new jspexception(e);
}
return eval_page;
}
/**
* @see javax.servlet.jsp.tagext.tagsupport#dostarttag()
*/
@override
public int dostarttag() throws jspexception {
return super.dostarttag();
}
}
2. tld文件
<?xml version="1.0" encoding="iso-8859-1" ?>
<!doctype taglib public "-//sun microsystems, inc.
//dtd jsp tag library 1.2//en"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.outtag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
3. taglib的部署
3.1 简单部署
3.1.1 方式一
编写tld文件,并且放置到web-inf目录或创建子目录,然后在jsp中,使用taglib指令,指定uri即可:
< %@ taglib divfix=”topxp” uri=”/web-inf/mytaglib.tld” %>
这个指令,直接指向一个tld文件。
3.1.2 方式二
也可以在web.xml中用taglib-uri和taglib-location标记来定义它的uri和位置的映射,然后在jsp中指定uri的时候,就直接使用在web.xml中定义的uri即可,这个就不举例子了。
3.2 打包部署
你也可以将taglib打成jar包,这个时候,你的taglib描述文件(tld文件),必须被放置在jar文件内的meta-inf目录(或子目录)下。你可以在这个目录下,放置多个tld文件。
假如将taglib打包,这个jar包必须被放置在web-inf/lib目录下。在jar包的meta-inf目录下的tld文件,都可以被自动发现,不需要显式的定义其位置。
3.2.1
jsp使用方式一:用uri直接指定jar文件的位置
jsp中可以使用下面的指令来指定tld文件的位置:
< %@ taglib divfix=”topxp” uri=”/web-inf/lib/topxptaglib.jar” %>
在这种情况下,因为没有直接指定tld文件的位置,所以,tld文件必须遵守一定的命名规则。规则就是:
tld文件必须命名为:taglib.tld。这样,在meta-inf目录下,只能放置一个tld文件,无法支持多个tld文件。
3.2.2
jsp使用方式二:使用定制的uri
假如需要在一个jar包中包含多个tld文件,你必须使用某种方式来区分这些tld文件,这种方式就是:
在tld文件中,用< uri >标记来区别不同的tld文件。如,可以加入下面的< uri >标记进topxptaglib.jar中的tld文件:< uri >http://www.topxp.org/taglib</uri >
在我们的例子中,假设命名为topxp.tld,下面就是topxp.tld文件的内容,请注重添加了< uri >标记:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!doctype taglib public "-//sun microsystems, inc.
//dtd jsp tag library 1.2//en"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<uri>http://www.topxp.org/taglib</uri>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.outtag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
这个时候,你可以将你的tld文件命名为其它的名字,如topxpabc.tld。
在jsp中,需要使用下面的方式来定义:
< %@ taglib divfix=”topxp” uri=”http://www.topxp.org/taglib” %>
可以看到,在这样的情况下,我们可以在一个jar包中包含任意多个tld文件。
taglib用于将呈现逻辑进行封装。
它必须继续自tagsupport类。
下面是一个简单的例子:
package org.topxp.taglib;
import java.io.ioexception;
import java.util.date;
import javax.servlet.jsp.jspexception;
import javax.servlet.jsp.jspwriter;
import javax.servlet.jsp.tagext.tagsupport;
public class outtag extends tagsupport {
/**
* @see javax.servlet.jsp.tagext.tagsupport#doendtag()
*/
@override
public int doendtag() throws jspexception {
jspwriter out = this.pagecontext.getout();
try {
out.println("当前的时间是:" new date());
} catch (ioexception e) {
throw new jspexception(e);
}
return eval_page;
}
/**
* @see javax.servlet.jsp.tagext.tagsupport#dostarttag()
*/
@override
public int dostarttag() throws jspexception {
return super.dostarttag();
}
}
2. tld文件
<?xml version="1.0" encoding="iso-8859-1" ?>
<!doctype taglib public "-//sun microsystems, inc.
//dtd jsp tag library 1.2//en"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.outtag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
3. taglib的部署
3.1 简单部署
3.1.1 方式一
编写tld文件,并且放置到web-inf目录或创建子目录,然后在jsp中,使用taglib指令,指定uri即可:
< %@ taglib divfix=”topxp” uri=”/web-inf/mytaglib.tld” %>
这个指令,直接指向一个tld文件。
3.1.2 方式二
也可以在web.xml中用taglib-uri和taglib-location标记来定义它的uri和位置的映射,然后在jsp中指定uri的时候,就直接使用在web.xml中定义的uri即可,这个就不举例子了。
3.2 打包部署
你也可以将taglib打成jar包,这个时候,你的taglib描述文件(tld文件),必须被放置在jar文件内的meta-inf目录(或子目录)下。你可以在这个目录下,放置多个tld文件。
假如将taglib打包,这个jar包必须被放置在web-inf/lib目录下。在jar包的meta-inf目录下的tld文件,都可以被自动发现,不需要显式的定义其位置。
3.2.1
jsp使用方式一:用uri直接指定jar文件的位置
jsp中可以使用下面的指令来指定tld文件的位置:
< %@ taglib divfix=”topxp” uri=”/web-inf/lib/topxptaglib.jar” %>
在这种情况下,因为没有直接指定tld文件的位置,所以,tld文件必须遵守一定的命名规则。规则就是:
tld文件必须命名为:taglib.tld。这样,在meta-inf目录下,只能放置一个tld文件,无法支持多个tld文件。
3.2.2
jsp使用方式二:使用定制的uri
假如需要在一个jar包中包含多个tld文件,你必须使用某种方式来区分这些tld文件,这种方式就是:
在tld文件中,用< uri >标记来区别不同的tld文件。如,可以加入下面的< uri >标记进topxptaglib.jar中的tld文件:< uri >http://www.topxp.org/taglib</uri >
在我们的例子中,假设命名为topxp.tld,下面就是topxp.tld文件的内容,请注重添加了< uri >标记:
<?xml version="1.0" encoding="iso-8859-1" ?>
<!doctype taglib public "-//sun microsystems, inc.
//dtd jsp tag library 1.2//en"
"http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>diego</short-name>
<uri>http://www.topxp.org/taglib</uri>
<tag>
<name>out</name>
<tag-class>org.topxp.taglib.outtag</tag-class>
<body-content>empty</body-content>
<attribute>
<name>name</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
这个时候,你可以将你的tld文件命名为其它的名字,如topxpabc.tld。
在jsp中,需要使用下面的方式来定义:
< %@ taglib divfix=”topxp” uri=”http://www.topxp.org/taglib” %>
可以看到,在这样的情况下,我们可以在一个jar包中包含任意多个tld文件。
发表评论
-
Ibatis+Spring整合实例Demo+源码
2012-02-08 12:58 1397<span style="color: ... -
[Jetty]Jetty工作原理
2012-02-07 17:29 990http://www.ibm.com/develo ... -
PhoneGap-Accelerometer
2012-02-07 14:23 1198采集设备在x、y、z方向上的动作。 acce ... -
mysql中查看和设置系统字符编码
2012-02-04 14:28 1704--查看数据库的字符集 show variables ... -
Html5游戏开发入门笔记--<躲砖块>
2012-02-03 12:04 1165学习了html5中的canvas画布元素,自己写了一个 ... -
我是项目经理,我的项目管理日记【20111202】
2012-02-03 10:19 987其实前段时间项目 ... -
打开CMD一闪就关的解决方案
2012-02-02 12:14 1379转:http://blog.163.com/cumt_ ... -
javabean的自动生成
2012-02-02 11:59 1391在jcreator pro中自动生成 在j ... -
CAP原理
2012-02-01 09:00 1145作者:NinGoo 原文链接:ht ... -
Struts标签循环List
2012-01-31 14:18 959<pre name="code&quo ... -
Android开发之初探音频的播放
2012-01-11 16:29 1081<h1>Android开发之初探音频的播放 ... -
关于成立北京Android爱好者俱乐部的声明
2012-01-11 14:33 859<blockquote dir="lt ... -
java.lang.NoClassDefFoundError: org/dom4j/DocumentException
2011-12-28 13:03 15088<span style="font-f ... -
电脑用户密码忘记了怎么办?
2011-12-28 12:14 977<span style="fon ... -
C#坦克大战实现
2011-12-20 13:29 1114记得在大学学java ... -
编程环境应该和讨论社区完美的进行结合
2011-12-19 11:54 757在学习.NET过程中,经常会遇到很多问题,有的时候会找 ... -
How to Succeed in A Professional Career
2011-12-19 10:29 728(From Microsoft)<br>& ... -
依然是计划 如果没有计划似乎就没有了动力
2011-12-15 10:39 875</span></span>& ... -
XSLT学习笔记
2011-12-14 14:04 660<p class="MsoNorma ... -
时空数据模型简介
2011-12-14 13:59 1477<p class="MsoNo ...
相关推荐
一个小的XText项目,旨在简化创建JSF组件库的过程。 一段时间后,创建JSF库变得相当繁琐。 您必须维护taglib,必须创建组件类,并且必须实现渲染器。 另外,taglib并不容易阅读。 我是否已经提到过文档页面? 该...
<br/>6、Struts安装 Struts的安装比较简单,下面的以Tomcat 4.0.4为例,讲述安装过程。 首先请到http://jakarta.apache.org/Struts下载Struts,建议使用release版,现在最高版本为1.0.2,下载后得到...
本文后面的章节将从数据持久层->业务层->Web层的开发顺序,逐层讲解文件上传下载的开发过程。 数据持久层 1、领域对象及映射文件 您可以使用Hibernate Middlegen、HIbernate Tools、Hibernate ...
21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
RUP(Rational Unified Process)软件统一过程,XP(Extreme Programming)极端编程,这些通常被叫做“过程方法”,是一种软件项目实施过程的方法论,它是针对软件项目的实施过程提出的方法策略。也是另一个角度的...
Closure表针对维度表计算distance,Closure表的生产参见例子中的存储过程sp_zycreateorgclosure 例如: 地区" uniqueMembers="true" nameColumn="ORGENTITYNAME" column="ORGENTITYID" parentColumn=...
它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的...
21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承。新类...
ThinkPHP借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,采用单一入口模式等,融合了Struts的 Action思想和JSP的TagLib(标签库)、RoR的ORM映射和ActiveRecord模式,封装了CURD和一些常用操作,...
21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
21.1.2 对乱码产生过程的分析 612 21.2 中文乱码问题的解决方案 614 21.3 使用过滤器解决中文问题 616 21.4 让tomcat支持中文文件名 620 21.5 国际化与本地化 621 21.5.1 locale 621.. 21.5.2 资源包 623 ...
早期的思想架构来源于Struts,后来经过不断改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结 构和MVC模式,融合了Struts的Action和Dao思想和JSP的TagLib(标签库)、RoR的ORM映射和...
抽象包括两个方面,一是过程抽象,二是数据抽象。 2.继承: 继承是一种联结类的层次模型,并且允许和鼓励类的重用,它提供了一种明确表述共性的方法。对象的一个新类可以从现有的类中派生,这个过程称为类继承...
它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的...
部分320 课时 MVC与Struts 高级Java Web应用开发:业界通用的MVC设计模式,Struts架构、应用程序国际化、Struts Taglib 熟练的掌握MVC设计模式和基于STRUTS架构的应用程序开发 Java B/S商务项目开发(基于Struts...
Struts标记库taglib介绍 663 Bean标记 663 逻辑标记 665 转发和重定向标记 668 HTML标记 669 显示错误信息的标记 673 其他HTML标记 673 模板标记 673 内容总结 676 独立实践 676 第三十四章:Hibernate基础 677 学习...