自定义标签 tld
2015-11-13 10:53
330 查看
初学者可能在不借助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到[b]WEB-INF目录下classes文件夹中[/b]
很多人在这一步就认为可以直接运行了,结果出现ClassNotFundation的错误,所以我们仔细想一下,jsp文件在编译的时候,他的class文件并不在工程目录下,而是在apache-tomcat\work\Catalina\localhost\webDemo\org\apache\jsp 这个目录下,所以我们还需要将[b]HelloWorldTag.class文件copy一份进去,这样就可以了[/b]
步骤一:新建一个自定义标签类 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到[b]WEB-INF目录下classes文件夹中[/b]
很多人在这一步就认为可以直接运行了,结果出现ClassNotFundation的错误,所以我们仔细想一下,jsp文件在编译的时候,他的class文件并不在工程目录下,而是在apache-tomcat\work\Catalina\localhost\webDemo\org\apache\jsp 这个目录下,所以我们还需要将[b]HelloWorldTag.class文件copy一份进去,这样就可以了[/b]
相关文章推荐
- sql语句开发使用---update
- Reverse Linked List
- (原创)c#学习笔记10--定义类成员03--接口的实现01--显示实现接口成员
- ionic 图片上传Demo
- git 自己写的使用方法
- oracle-获取时间详解
- Xshell远程连接Linux服务器出错——Could not connect to '114.214.166.5' (port 22): Connection failed.
- 反走样
- Unity3D研究院之监听Project视图结构变化的事件
- hive 创建外表操作
- Unity人工智能学习—躲避规则障碍一
- 企业应用架构
- 计算机是如何启动的?
- Python file.truncate()方法
- html声明性标签
- 让textbox不保存历史输入记录
- 【转】phpcms基础内容
- 再记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全)
- Android studio 中 Project Structure 的使用
- 《IT蓝豹》高仿花田ios版标签移动效果