1

i have added some new functionality to an existing tag, and modified the corresponding tld and placed it at WEB-INF/ . but some how tomcat isn't picking this modified .tld

am i doing something wrong here where do i need to put the .tld file to override the existing one present in the jar? following is the exception

  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)
dpsdce
  • 5,290
  • 9
  • 45
  • 58

2 Answers2

0

You should put the .tld in the JAR with the .class files that implement it.

Have a look at the Apache JSTL standard.jar for an example of how to do it properly.

duffymo
  • 305,152
  • 44
  • 369
  • 561
  • i am not recreating the jar in my build process, as we can override a class file in jar by just putting it in WEB_INF/classes/(class file structure with in the jar), i was wondering if the same stands true for tld's as well? – dpsdce Nov 28 '11 at 02:36
  • What you're doing isn't working; perhaps it's time to try something else. You have the evidence you're asking for - you're not doing the right thing with your overriding idea. – duffymo Nov 28 '11 at 10:20
0

its Possible to override .tld by specifying the uri for the tag

  <%@ taglib uri="/WEB-INF/test.tld" prefix="testing" %>
dpsdce
  • 5,290
  • 9
  • 45
  • 58