在重写标记中找不到Setter

时间:2012-03-21 10:52:37

标签: java jsp websphere taglib tld

由于内部存在错误,我不得不从自定义Tag library覆盖标记。我在我自己的自定义类中复制粘贴了类的完整代码(不能子类,位于private方法中的bug),我使用新的.tld属性创建了自己的shortname文件,在我的web.xml文件中添加了引用。然后我使用新前缀更新了我的jsp页面。

现在我收到以下错误:

Error failed to locate setter method for attribute class in tag class my.package.MyTableTag

它所抱怨的字段是在我的自定义类中明确定义的,所以我不明白为什么会出现这个错误。

如果需要更多信息,请提供任何帮助!

修改

我进一步检查了一下,我认为它应该与为原始标签(和我的自定义副本)定义的tei-class有关。但在这个课程中,我找不到任何直接引用错误类或类似内容的东西 该应用程序部署在WAS 6.1服务器上,错误堆栈跟踪以:

开头
at com.ibm.ws.jsp.taglib.TagClassInfo.getParameterClassName(TagClassInfo.java:167)
at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.evaluateAttribute(BaseTagGenerator.java:367)
at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.generateSetters(BaseTagGenerator.java:256)
at com.ibm.ws.jsp.translator.visitor.generator.CustomTagGenerator.startGeneration(CustomTagGenerator.java:359)
at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.startGeneration(GenerateVisitor.java:699)
at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.visitCustomTagStart(GenerateVisitor.java:399)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:267)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:309)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:268)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java:309)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:139)
at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:121)
at com.ibm.ws.jsp.translator.visitor.generator.GenerateJspVisitor.visit(GenerateJspVisitor.java:137)
...

1 个答案:

答案 0 :(得分:0)

使用子类而不是复制粘贴类找到另一种解决方法!