Переопределить файл .tld внутри банки

я добавил некоторые новые функции к существующему тегу, изменил соответствующий tld и поместил его в WEB-INF/ . но почему-то tomcat не выбирает этот модифицированный .tld

Я делаю что-то не так, где мне нужно поместить файл .tld, чтобы переопределить существующий в банке? следующее исключение

  org.apache.jasper.JasperException: Conversion.jsp(276,6) Attribute group invalid for tag column according to TLD
at org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:39)
at org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409)
at org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:238)
at org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:975)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:696)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
at org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:716)
at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1441)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2213)
at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2219)
at org.apache.jasper.compiler.Node$Root.accept(Node.java:456)
at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2163)
at org.apache.jasper.compiler.Validator.validate(Validator.java:1475)
at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:214)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:470)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:451)
at org.apache.jasper.compiler.Compiler.compile(Compiler.java:439)
at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:295)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)

person dpsdce    schedule 28.11.2011    source источник


Ответы (2)


Вы должны поместить .tld в JAR с файлами .class, которые его реализуют.

Взгляните на стандартный файл Apache JSTL.jar для примера того, как это сделать правильно.

person duffymo    schedule 28.11.2011
comment
я не воссоздаю банку в процессе сборки, так как мы можем переопределить файл класса в банке, просто поместив его в WEB_INF/classes/(структура файла класса в банке), мне было интересно, верно ли то же самое для tld как хорошо? - person dpsdce; 28.11.2011
comment
То, что вы делаете, не работает; возможно, пришло время попробовать что-то еще. У вас есть доказательства, о которых вы просите - вы поступаете неправильно со своей основной идеей. - person duffymo; 28.11.2011

Можно переопределить .tld, указав uri для тега

  <%@ taglib uri="/WEB-INF/test.tld" prefix="testing" %>
person dpsdce    schedule 01.12.2011