JSP自定义有属性标签

自学JSP自定义标签的时候遇到的问题

控制台提示数字格式化错误,不知道是那里有格式化了,我的代码只格式化了时间,而且我检查了觉得没问题。

http://img.mukewang.com/58e0bb6c0001e35f11190501.jpg

刷新页面变换的提示下面两个错误,这个提示一般来说是jar包的问题,可我没有引用jar包

http://img.mukewang.com/58e0bb6d0001cd1e09380554.jpg

http://img.mukewang.com/58e0bb6c0001b14710140730.jpg

以下是代码:

DateTage.java代码:

package org.ydyy.zjj;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

public class DateTag extends TagSupport {
    private String format;
    @Override
    public int doStartTag() throws JspException {
        SimpleDateFormat sdf = new SimpleDateFormat(this.format);
        try {
            super.pageContext.getOut().write(sdf.format(new Date()));
        } catch (IOException e) {
            e.printStackTrace();
        }
        return TagSupport.SKIP_BODY;
    }
    public String getFormat() {
        return format;
    }
    public void setFormat(String format) {
        this.format = format;
    }
}

datetag.tld文件代码:

<?xml version="1.0" encoding="UTF-8"?>
<!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>tlib-version</tlib-version>
    <jsp-version>jsp-version</jsp-version>
    <short-name>short-name</short-name>
    <tag>
        <name>date</name>
        <tag-class>org.ydyy.zjj.DateTag</tag-class>
        <body-content>empty</body-content>
        <attribute>
            <name>format</name>
            <required>true</required>
            <rtexprvalue>true</rtexprvalue>
        </attribute>
    </tag>
</taglib>

web.xml文件中的声明(对tld文件进行名称映射,便于在jsp中使用映射名称):

<taglib>
  <taglib-uri>mldn_date</taglib-uri>
  <taglib-location>/WEB-INF/datetag.tld</taglib-location>
</taglib>

Date.jsp文件代码

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
    <%@ taglib prefix="mytag" uri="mldn_date" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
    <h1>
        定义有属性的标签
        <mytag:date format="yyyy-MM-dd HH:mm:ss:SSS"/>
    </h1>
</body>
</html>

写了这么多劳烦各位看看了,解救我这个小白。

zeng_建军
浏览 1751回答 1
1回答

zeng_建军

那么久了竟然也没人回答,虽然问题早就解决了,连想要采纳个回答都没有?
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java