`
程言方
  • 浏览: 46861 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JSP标签编程笔记

 
阅读更多
   对于jsp标签的编程,经历算是坎坷,昨天晚上开始着手编写第一个标签,算是漏洞百出,当时也心不在焉,
就没有关注具体的错误,就撒手不管了。今天索性又重新编写了一个更复杂些的标签。刚开始运行也是看到了类似昨天的错误,
静下心来,修改好了,颇有感觉就记下来吧!

   定义标签步骤如下:
        首先要定义标签操作类,这个类似于servlet编程!但要引入jsp-api包,直接继承javax.servlet.jsp.tagext.TagSupport类
   并且复写doStartTag方法。
第二就是编写标签描述文件,主要作用就是描述标签的名称、简介、处理类、和标签使用到的属性等!  
        第三就是编写jsp页面,并且通过<%taglib/>定义标签,并在jsp页面中直接使用标签!
       
   标签库的的使用流程:
        首先判断是否是第一次执行,若不是则直接执行标签操作,否则,则根据uri加载*.tld,之后再执行标签操作!
   标签的执行过程及组成部分:
        hellotag.jsp->web.xml->hellotag.tld->helloTag.java

示例代码:
代码一:DateTag.java
package hellow;

import java.io.IOException;
import java.sql.Date;
import java.text.SimpleDateFormat;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.TagSupport;

public class DateTag extends TagSupport{
private String format;
public int doStartTag()throws JspException{
SimpleDateFormat sdf=new SimpleDateFormat(this.format);
try {
super.pageContext.getOut().write(sdf.format(new Date(2003,11,9)));
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return TagSupport.SKIP_PAGE;
}
public void setFormat(String format){
this.format=format;
}

}


代码二:datetag.tld
<?xml version="1.0" encoding="UTF-8"?>
<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_1.xsd"
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>datetag</short-name>
<tag>
    <name>date</name>
    <tag-class>
          hellow.DateTag
    </tag-class>
    <body-content>empty</body-content>
    <attribute>
          <name>format</name>
          <required>true</required>
          <rtexprvalue>true</rtexprvalue>
    </attribute>
</tag>
</taglib>

代码三:datetag.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="mytag" uri="/WEB-INF/datetag.tld"%>
<html>
   <head>
      <title>tagTest</title>
   </head>
   <body background="cyf.jpg">
<br><br><br><br><br><br><br><br>
     <center>
      <font size=6>
        <mytag:date format="yyyy-MM-dd HH:mm:ss.SSS"/>
      </font>
     </center>
   </body>
</html>


唯一不明白的是,已经在web.xml中写好了映射如下:
    <taglib>
       <taglib-uri>cyf_date</taglib-uri>
       <taglib-location>/WEB-INF/datetag.tld</taglib-location>
     </taglib>
但是在datetag.jsp中的uri写成
<%@ taglib prefix="mytag" uri="cyf_date"%>
之后会出现如下错误:
“HTTP Status 500 - /datetag.jsp(2,40) File "/cyf_date" not found”
求指教!!!


分享到:
评论

相关推荐

    JSP网络编程学习笔记源代码 part2

    第五篇为“标签语言和表达式语言”,主要讲述JSP的标签技术,JSP提供的标准标签库JSTL的用法及用户如何自定义自己的标签库;第六篇为“Web应用高级专题”,主要讲述Servlet过滤器、JSP异常处理、JSP日志、认证和安全...

    jsp学习笔记

    这是我学习JSP做的一个笔记,不包括框架与JSTL 及标签编程内容,其中有不少学习过程的总结和心得

    JAVAWeb全课程笔记( html版)

    JSTL标签库: JSP标准标签库 MVC程序架构思想&案例 [总结]Path路径问题 [总结]JavaWeb乱码问题 [转自IBM]中文编码问题 JDBC入门 Jdbc事务控制管理 常用数据库连接池 编写JDBC框架 客户信息管理系统 Servlet Filter ...

    Java/JavaEE 学习笔记

    JSP学习笔记..................236 JSP前言.................236 第一章 Introduction to JSP...............238 第二章 Creating,Deploying and Executing a JSP..................239 第三章 JSP Scriplets,...

    J2EE学习笔记(J2ee初学者必备手册)

    JSP学习笔记..................236 JSP前言.................236 第一章 Introduction to JSP...............238 第二章 Creating,Deploying and Executing a JSP..................239 第三章 JSP Scriplets,...

    web开发课程笔记、源码和课程视频.zip

    web开发课程笔记、源码和课程视频,适合自学web、有编程基础的同学。内含:html、css、javascript、jQuery、XML、Tomcat、Servlet、jsp、EL表达式、JSTL标签库、cookie、session、Filter过滤器、json、Ajax请求、...

    Java学习笔记-个人整理的

    {2.1.3}面向对象的编程}{47}{subsection.2.1.3} {2.2}继承}{48}{section.2.2} {2.2.1}super(), this()}{49}{subsection.2.2.1} {2.2.2}方法重写/覆盖}{50}{subsection.2.2.2} {2.3}修饰符}{51}{section.2.3} ...

    免费下载:自己整理的java学习资料

    自己整理的一些资料,不需要积分,希望对大家有帮助。 里面包有如下的一些java资料 Ant使用指南.pdf cvs.pdf Eclipse入门-- Eclipse的使用简介...Java网络高级编程.pdf jsp高级运用 spring2中文开发参考手册.chm a.txt

    [源代码]Python算法详解.rar

    更新时间:2022-09-12 13:10:47大小:18M上传用户:Laspide查看TA发布的资源标签:python算法下载积分:2分评价赚积分(如何评价?)收藏评论(0)举报资料介绍基于Python分别讲解了算法是程序的灵魂,数据结构,常用的...

    swing界面设计之JTree

    (十) JAVA swing编程JTree实现系统目录 77 FileTree1.java源代码 77 (十一) Java Swing中的JTree模型 85 Swing.tree包中的主要类名称实现 85 1. 构建树模型 86 2. 树结点 86 树结构详细类图 86 2.1 TreeNode接口 86 ...

    软件工程-理论与实践(许家珆)习题答案

    ● 编程(用程序语言实现每个模块,简单容易); ● 测试(发现并改正错误,分为模块测试、集成测试和系统联调三级); ● 运行维护(扩充功能、纠错等)。 习题二答案 一、 选择题 1. 需求分析的主要目的是(B C)...

Global site tag (gtag.js) - Google Analytics