JSP tld无法从Weblogic迁移到Tomcat

时间:2016-02-17 14:43:49

标签: java jsp tomcat weblogic

我正在迁移一个Java应用程序,其中包含许多从Weblogic到Tomcat的JSP。

我有一个.tld文件

<tag>
    <name>select</name>
    <tagclass>path.to.java.class</tagclass>
    <bodycontent>empty</bodycontent>
    <attribute>
         <name>class</name>
         <required>false</required>
         <rtexprvalue>false</rtexprvalue>
    </attribute>
</tag>

Java类中的setter是

public void setClass()...

但这不起作用。我收到以下错误:

org.apache.jasper.JasperException: myFile.jsp (line: 458, column: 13) Unable to find setter method for attribute: class
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:42)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:443)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:149)
org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:2868)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:3092)
org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2262)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1757)
org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1539)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2376)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2428)

但是,当我将所有内容从“class”更改为“blass”并将setClass()更改为setBlass()时,一切正常。

这是什么问题?为什么它在Weblogic上工作而不是Tomcat?

1 个答案:

答案 0 :(得分:0)

我在 Weblogic => Tomcat 8.5.X 迁移下遇到了类似的问题 - 由于使用了 class 词,JSP 生成失败。将其更改为不同的内容后,它开始工作。