Tag library
内部のバグにより、カスタムからタグを上書きする必要がありました。クラスの完全なコード (サブクラス化できない、メソッドにバグがある) をコピーして独自のカスタム クラスに貼り付け、新しいプロパティを使用しprivate
て独自のファイルを作成し、ファイルに参照を追加しました。次に、新しいプレフィックスを使用してページを更新しました。
.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)
...