2017-05-17 25 views
2

我在這裏看到了一些關於此問題的問題,但沒有人似乎有答案。我正在從Weblogic和Java 6遷移到Tomcat和Java 8,除了我們擁有的幾個標籤庫之外,一切都很順利。.tld在從weblogic切換到tomcat/maven後無法工作

這是如下結構:

-src 
    -main 
     -java 
      -misckPkg 
       -tags.fav 
        - FavTagSupport.java 
     -webapp 
      -WEB-INF 
       -fav.tld 
      -faVer.jsp 

代碼從FavTagSupport.java片斷

abstract class FavTagSupport extends TagSupport { 
    protected FavEnum.type vType = null; 

    public FavTagSupport() { 
    super(); 
    this.init(); 
    } 

    public FavEnum.type getVType() { 
    return this.vType; 
    } 

    public void setVType(FavEnum.type vType) { 
    this.vType = vType; 
    } 

代碼從fav.tld

<?xml version = '1.0' encoding = 'windows-1252'?> 
<!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>1.1</tlib-version> 
    <jsp-version>1.2</jsp-version> 
    <short-name>fav</short-name> 
    <uri>/WEB-INF/fav.tld</uri> 

    <tag> 
    <attribute> 
     <name>vType</name> 
     <required>true</required> 
     <rtexprvalue>true</rtexprvalue> 
    </attribute> 
    </tag> 

代碼段段從faVer.jsp

<%@ taglib uri="/WEB-INF/fav.tld" prefix="f" %> 

錯誤

org.apache.jasper.JasperException: /faVer.jsp (line: 166, column: 6) Unable to find setter method for attribute: vType 
    org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:41) 
    org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:275) 
    org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:107) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:3003) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:3223) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2404) 
    org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1901) 
    org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1536) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376) 
    org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428) 
    org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2434) 
    org.apache.jasper.compiler.Node$Root.accept(Node.java:464) 
    org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376) 
    org.apache.jasper.compiler.Generator.generate(Generator.java:3646) 
    org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:356) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:336) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:323) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:729) 
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    miscPkg.LoggerFilter.doFilter(LoggerFilter.java:72) 

編輯:這個我越亂,顯然,這是不是找到我FavTagSupport類。我會嘗試移動它,雖然我不知道爲什麼會有所幫助

回答

1

討厭回答我自己的問題,但它是一個簡單的套管問題。更改getVtypegetvTypesetVTypesetvType

一貫相互理解,它應該從屬性名稱的資本被包裝,但我猜的tomcat做不同的看法。

相關問題