Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在重写的标记中找不到Setter_Java_Jsp_Websphere_Taglib_Tld - Fatal编程技术网

Java 在重写的标记中找不到Setter

Java 在重写的标记中找不到Setter,java,jsp,websphere,taglib,tld,Java,Jsp,Websphere,Taglib,Tld,由于内部存在错误,我不得不覆盖自定义标记库中的标记。我在自己的自定义类中复制粘贴了类的完整代码(不能子类,bug位于private方法中),我用一个新的shortname属性创建了自己的.tld文件,并在web.xml文件中添加了引用。然后,我使用新前缀更新了我的jsp-页面。 现在我得到以下错误: Error failed to locate setter method for attribute class in tag class my.package.MyTableTag 它抱怨的字

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

Error failed to locate setter method for attribute class in tag class my.package.MyTableTag
它抱怨的字段是在我的自定义类中显式定义的,所以我不明白为什么会出现这个错误。 如果需要更多信息,请随时询问,我们将不胜感激

编辑 我进一步研究了一下,我认为它应该与为原始标记(以及我的自定义副本)定义的
tei类有关。但在这个类中,我找不到任何直接引用错误类或类似类的内容。
应用程序部署在WAS 6.1服务器上,错误stacktrace以以下开头:

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)
...

找到了另一个使用子类而不是复制粘贴类的解决方法

您将自定义和同名类的类文件放在哪里?看起来你的类在原来的类中排名第二,可能来自某个JAR?@mgaert我也这么想,但仍然不知道为什么,我的类部署在
WEB-INF/classes
中,而原来的类在
WEB-INF/lib
中的一个JAR中。我还为类使用了一个不同的名称,该名称显示在错误中,因此它会查找正确的类seems@mgaert我用一些额外的信息更新了我的问题,如果你能再看看的话?谢谢