`
程言方
  • 浏览: 47558 次
  • 性别: 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网络编程笔记

    **新一代JSP网络编程笔记** 本笔记主要涵盖了JavaServer Pages(JSP)技术在网络编程中的应用,旨在帮助读者深入理解JSP的核心概念、语法特点以及实际开发中的最佳实践。JSP是Java平台上的一个标准,它允许开发人员...

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

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

    韩顺平jsp九讲笔记

    这份笔记涵盖了JSP的基础知识、核心概念以及实际应用,旨在帮助学习者深入理解和掌握JSP编程。韩顺平老师在IT教育领域有着丰富的经验,他的讲解通常深入浅出,易于理解,深受学员喜爱。 1. **JSP概述**:JSP是Java...

    JSP JDBC 学习笔记(基础)

    在学习过程中,阅读提供的"jsp 基础教程.doc", "jsp学习 笔记.doc", "JDBC 笔记.doc", "jsp 笔记二.doc"文档,将有助于你深入理解JSP和JDBC的使用方法和最佳实践。这些笔记详细阐述了相关概念、示例代码和常见问题,...

    java网络编程笔记

    #### 标题解析:Java网络编程笔记 在当今数字化时代,网络编程已成为软件开发中不可或缺的一部分,尤其在J2EE(Java 2 Platform, Enterprise Edition)框架下,其重要性更为凸显。J2EE为构建企业级应用提供了强大的...

    jsp最全笔记,jstl+El

    - **language**:指定页面使用的编程语言,默认为Java。 - **import**:导入所需的包和类,多个类之间使用逗号分隔。 - **session**:指定页面是否使用HTTP会话,默认为true。 - **buffer**:设置输出缓冲区的...

    [JSP&Servlet;学习笔记(第2版)]

    **JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。

    jsp-servlet笔记源码

    2. **PPT** 文件可能包含教学演示,详细讲解了JSP和Servlet的原理及其实现细节,比如JSP指令、动作、EL表达式和JSTL标签库的使用,以及Servlet生命周期、初始化参数和会话管理等。 3. **DOC** 文件可能包含文档资料...

    JSP&Servlet学习笔记.pdf

    由于这部分内容是电子书中的学习笔记,电子书的内容并未直接给出,因此只能根据电子书的标题“JSP&Servlet学习笔记”和描述来推测可能涉及的知识点,而没有具体的电子书内容可以分析。如需进一步学习,建议查阅相关...

    Servlet&JSP;学习笔记源代码

    这份"Servlet&JSP学习笔记源代码"是由林信良编著,提供了丰富的实例代码,旨在帮助学习者深入理解这两种技术。 Servlet是Java编程语言的一个接口,允许Java代码与HTTP服务器进行交互。它扩展了服务器的功能,使得...

    Servlet &JSP学习笔记NetBeans源代码

    4. **JSTL(JavaServer Pages Standard Tag Library)**:一套标准的JSP标签库,提供各种常见操作,如迭代、条件判断、XML处理等。 在NetBeans中创建Servlet和JSP项目时,你可以: 1. 创建新的Web项目,选择Servlet...

    韩顺平servlet和jsp课堂笔记

    4. **脚本元素**:包括声明(declarations)、表达式(expressions)、脚本块(scriptlets)和JSP标签,它们可以嵌入HTML中,实现动态逻辑。 5. **EL(Expression Language)**:简化了从请求、会话、应用范围获取...

    JSP笔记

    **JSP(Java Server Pages)**是一种服务器端脚本技术,主要用于动态网页开发,结合了HTML、XML和Java编程语言的功能。它允许在HTML文档中嵌入Java代码,从而创建动态的、交互式的网页。当用户请求一个JSP页面时,...

    coreJava、jsp、servlet笔记

    4. EL(Expression Language)和JSTL(JavaServer Pages Standard Tag Library):简化JSP页面的表达式和标签使用。 5. JSP生命周期:解析、编译、加载、初始化、服务、销毁六个阶段。 6. MVC(Model-View-...

    北京MLDN 李兴华JSP笔记

    "java"和"jsp"表明笔记专注于Java编程语言和基于Java的服务器端动态网页技术JSP。"李兴华"代表了笔记的作者,他的专业背景和教学经验使得这些笔记具备权威性。"MLDN"是发布平台,它可能提供了更多相关的学习资源。...

    我的编程笔记 两部分

    标题 "我的编程笔记 两部分" 暗示这是一份关于编程学习的个人笔记,可能涵盖了多个主题,特别强调了 J2EE 技术。描述中提到的博客链接指向了一个 ITeye 的博客条目,但具体内容没有提供,因此我们只能根据提供的标签...

    JSP大学期末考试复习资料

    **JSP(Java Server Pages)** 是一种动态网页技术,由Sun Microsystems开发,现在由Oracle公司维护。...同时,参考提供的PPT摘要和基本代码,可以加深对关键概念的理解,并且有助于解决可能出现的编程问题。

    servlet和jsp学习笔记

    %&gt;`,`&lt;%= %&gt;`)和动作标签(如`&lt;jsp:useBean&gt;`, `&lt;jsp:setProperty&gt;`, `&lt;jsp:forward&gt;`)。 2. **JSP转换过程**:JSP文件在服务器端被编译成Servlet,然后执行。这个过程包括预处理(解析JSP元素)、翻译(生成...

Global site tag (gtag.js) - Google Analytics