Java 自定义标记处理程序在Tomcat7中不工作,但在Tomcat6中工作正常

Java 自定义标记处理程序在Tomcat7中不工作,但在Tomcat6中工作正常,java,tomcat7,tld,Java,Tomcat7,Tld,我的自定义jsp标记遇到了非常奇怪的问题——在Tomcat6中部署时正常工作的东西在Tomcat7环境中不工作。以下是我的标记处理程序类: private Long millis; /** * Constructor */ public ConvertMillisecondsValueTag() { super(); millis = null; } /** * Tag name */ public String getTagName() { return "

我的自定义jsp标记遇到了非常奇怪的问题——在Tomcat6中部署时正常工作的东西在Tomcat7环境中不工作。以下是我的标记处理程序类:

private Long millis;

/**
 * Constructor
 */
public ConvertMillisecondsValueTag() {
    super();
    millis = null;
}

/**
 * Tag name
 */
public String getTagName() {
    return "convertMillisValueTag";
}

public Long getMillis() {
    return this.millis;
}


public void setMillis(Long millis) {
    this.millis = millis;
}

/**
 * EVAL_PAGE
 */
public int doEndTag() throws JspTagException {

    StringBuilder buff = new StringBuilder();
    long timeInSeconds = this.millis/1000;
    int seconds = (int)(timeInSeconds % 60);  
    int minutes = (int)((timeInSeconds % 3600) / 60);  
    int hours = (int)((timeInSeconds % 86400) / 3600);
    int days = (int)((timeInSeconds / 86400));
    if (days > 0) {
        buff.append(days + " d, ");
    }
    if (hours > 0) {
        buff.append(hours + " h, ");
    }
    if (minutes > 0) {
        buff.append(minutes + " min, ");
    }
    if (seconds > 0) {
        buff.append(seconds + " sec");
    }
    try {
        pageContext.getOut().print(buff.toString());
    } catch (Exception e) {
        e.printStackTrace();
    }       

    return TagSupport.EVAL_PAGE;
}

/**
 * Release this instance of tag
 */
public void release() {
    this.millis = null;
}
这里是我的tld定义:

<?xml version="1.0" encoding="UTF-8"?>

http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version=“2.0”>

itedgejsp标记库
1
伊特里奇
http://www.itedge.sk/tags
获取毫秒输入(长)并以
第二,分钟、小时和天
转换毫值
com.itedge.solutionmanager.web.tags.convertmillesondsvaluetag
JSP
毫秒输入(长)。
米利斯
符合事实的
符合事实的

以下是标签的用法:

当我在tomcat 6中部署该项目时,它工作正常,转换毫秒值并显示它,但在tomcat 7中,它简单地不打印任何内容,并且当我在调试模式下在doEndTag方法中设置断点时,没有断点匹配。你知道会出什么问题吗?我知道tomcat 6使用servlet 2.5 api和tomcat 7使用3.0 servlet api,这是我唯一的线索。

可能:

<%@ taglib prefix="itedge" uri="http://www.itedge.sk/tags" %>

您需要更换它:

<%@ taglib prefix="itedge" uri="/WEB-INF/tlds/yourFilename.tld" %>

<%@ taglib prefix="itedge" uri="/WEB-INF/tlds/yourFilename.tld" %>