自定义标签 tld
初学者可能在不借助IDE工具的情况下 编写自定义标签库 tld 程序可能遇到找不到class 的错误,下面讲解一下如何解决该问题
步骤一:新建一个自定义标签类 HelloWorldTag,该类放到src目录下或子目录下
import javax.servlet.jsp.tagext.SimpleTagSupport;
import javax.servlet.jsp.JspException;
import java.io.IOException;
import java.util.Date;
public class HelloWorldTag extends SimpleTagSupport{
public void doTag() throws JspException,IOException{
getJspContext().getOut().write("Hello World" + new Date());
}
}
步骤二:新建一个tld 文件 mytaglib.tld,该文件只要放到WEB-INF目录下或其子目录下,程序运行是会自动去扫描tld文件,因此可以不再web.xml中进行配置
<?xml version="1.0" encoding="gbk" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>mytaglib</short-name>
<uri>http://www.oiyuepu.com/mytaglib</uri>
<tag>
<name>helloWorld</name>
<tag-class>HelloWorldTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
步骤三:新建一个HelloWorldTag.jsp文件,该文件放到工程目录下,uri可以自定义,没有什么讲究,但是引用要对应
<%@ page contentType="text/html; charset=gbk" language="java" errorPage="error.jsp"%>
<%@ taglib uri="http://www.oiyuepu.com/mytaglib" prefix="mytag"%>
<!doctype html>
<html>
<head>
<title> 自定义标签示范 </title>
</head>
<body bgcolor="#ffffc0">
<h2>下面显示的是自定义标签的内容</h2>
<mytag:helloWorld />
</body>
</html>
步骤四:通过cmd javac 编译 第一步所建的类HelloWorldTag,编译好之后需要将class文件copy到WEB-INF目录下classes文件夹中
很多人在这一步就认为可以直接运行了,结果出现ClassNotFundation的错误,所以我们仔细想一下,jsp文件在编译的时候,他的class文件并不在工程目录下,而是在apache-tomcat\work\Catalina\localhost\webDemo\org\apache\jsp 这个目录下,所以我们还需要将HelloWorldTag.class文件copy一份进去,这样就可以了
自定义标签 tld的更多相关文章
- java:jsp: 一个简单的自定义标签 tld
java:jsp: 一个简单的自定义标签 tld 请注意,uri都是:http://www.tag.com/mytag,保持统一,要不然报错,不能访问 tld文件 <?xml version=& ...
- 自定义标签tld的使用
在JSP中使用标签是很平常的事情,在制作自定义标签时,通常都需要写tld文件来定义标签的各种属性,对应的Java类,前缀等等.标签与tld文件紧紧相连,那么,到底应该怎么放置tld文件?在web.xm ...
- 自定义标签TLD文件中,rtexprvalue子标签的意思
rtexprvalue的全称是 Run-time Expression Value, 它用于表示是否能够利用JSP表达式. 举例子: 1.定义一个TLD文件: <tag> <name ...
- ssm+jsp+自定义标签实现分页,可以通用(前端实现)
近期做了一些分页方面的开发,大致梳理一下 1 jsp页面上关于分页的代码 <tr> <td colspan="9"> <ule1:pagination ...
- Java精选笔记_自定义标签
自定义标签 自定义标签入门 什么是自定义标签 自定义标签可以有效地将HTML代码与Java代码分离,从而使不懂Java编程的HTML设计人员也可以编写出功能强大的JSP页面 JSP规范中定义了多个用于 ...
- JavaEE自定义标签:标签类的创建、tld配置文件的创建(位置、如何创建)、Web-XML配置、JSP应用
1.标签 以类似于html标签的方式实现的java代码的封装. 第一:形成了开发标签的技术标准---自定义标签的技术标准. 第二:java标准标签库(sun之前自己开发的一系列的标签的集合)jstl, ...
- JSP自定义标签(标签处理器 tld文件)
标签的形式如下,标签处理器就是处理JSP页面中的标签的属性和内容,定义好之后就跟使用JSTL一样 <标签名 属性名="属性值" 属性名="属性值"> ...
- Jsp自定义标签,配置tld文件
Program:Jsp自定义标签,.tld文件的配置 1 <?xml version="1.0" encoding="UTF-8" ?> 2 3 & ...
- tld自定义标签系列--使用body-content的作用--比较有用
body-content的值有下面4种: <xsd:enumeration value="tagdependent"/> <xsd:enumeration val ...
随机推荐
- Xcode7工程改名
0: 先把原工程压缩个zip包备份一份. 1:在Project navigator中, 选择旧工程名字, 再次点击, 修改. 会弹出提示框. 直接点击确认. (Xcode7.1.1中经常导致Xcode ...
- 两个结构体ifconf和ifreq
用ioctl获得本地ip地址时要用到两个结构体ifconf和ifreq,它们对于大多数人来说都是比较陌生的,这里给大家一种比较简单的理解方法,当然只一种帮助理解的方法,在描述中可能会有一些地方与真实定 ...
- @DataProvider Method 参数传递
package roger.testng; import java.lang.reflect.Method; import org.testng.annotations.DataProvider; i ...
- MarkdownPad2
http://markdownpad.com/ MarkdownPad2
- NOIP 2015 子串
借鉴大神思路... #include<cstdio> #include<cstring> #include<cstdlib> #include<iostrea ...
- 改进的SMO算法
S. S. Keerthi等人在Improvements to Platt's SMO Algorithm for SVM Classifier Design一文中提出了对SMO算法的改进,纵观SMO ...
- linux内核系列(二)内核数据结构之链表
双向链表 传统链表与linu内核链表的区别图: 图一 图二 从上图中看出在传统链表中各种不同链表间没有通用性,因为各个数据域不同,而在linux内核中巧妙将链表结构内嵌到数据域结构中使得不同结构之间能 ...
- Ural1057 - Amount of Degrees(数位DP)
题目大意 求给定区间[X,Y]中满足下列条件的整数个数:这个数恰好等于K个互不相等的B的整数次幂之和.例如,设X=15,Y=20,K=2,B=2,则有且仅有下列三个数满足题意: 输入:第一行包含两个整 ...
- OS X: Keyboard shortcuts
Using keyboard shortcuts To use a keyboard shortcut, press a modifier key at the same time as a char ...
- libmad和libmpg123解码mp3在安卓手机上的比较
libmad和libmpg123解码mp3在安卓手机上的比较1. libmad 选自 http://sourceforge.net/projects/mad libmad-0.15.1b.tar.g ...