> > org.apache.jasper.JasperException: Method "userMayHideThisMessage " for 
> > function "userMayHideThisMessage" not found in class 
> > "example.mypackage.Util"
> > at 
> > org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:56)
> > at 
> > org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:445)
> > at 
> > org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:182)
> > at 
> > org.apache.jasper.compiler.Validator$ValidateVisitor$1MapperELVisitor.visit(Validator.java:1744)
> > at org.apache.jasper.compiler.ELNode$Function.accept(ELNode.java:139)
> > at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:214)
> > at org.apache.jasper.compiler.ELNode$Visitor.visit(ELNode.java:256)
> > at org.apache.jasper.compiler.ELNode$Root.accept(ELNode.java:61)
> > at org.apache.jasper.compiler.ELNode$Nodes.visit(ELNode.java:214)
> > at 
> > org.apache.jasper.compiler.Validator$ValidateVisitor.getFunctionMapper(Validator.java:1753)
> > at 
> > org.apache.jasper.compiler.Validator$ValidateVisitor.getJspAttribute(Validator.java:1423)
> > at 
> > org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1236)
> > at 
> > org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:881)
> > at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1553)
> > at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
> > at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2444)
> > at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2450)
> > at org.apache.jasper.compiler.Node$Root.accept(Node.java:474)
> > at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2392)
> > at 
> > org.apache.jasper.compiler.Validator.validateExDirectives(Validator.java:1845)
> > at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:218)
> > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:374)
> > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
> > at org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
...
> > at example.MyServlet.doGet(MyServlet.java:434)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
> > 
> > The space character at the end of "userMayHideThisMessage " in the 
> > exception message seems a bit strange. 
> > 
> > A downgrade back to Tomcat 7.0.90 resolved the problem.
> > 
> > Does one have to change something to be able to continue using custom TLDs 
> > / functions with Tomcat 7.0.91+?
> > 
> > What might be the cause of the problem?
> 
> Might be related to a fix in TLD whitespace parsing. Can you provide the
> TLD ?
> 
> Mark

Hello Mark,

Thank you very much for your response! 

You're idea made me find the reason: The function signature in the TLD 
contained a space between method name and arguments:

<function-signature>java.lang.Boolean userMayHideThisMessage 
(example.mypackage.UserBean, 
example.mypackage.AbstractMessage)</function-signature>

While that was ignored in versions <= 7.0.90, such whitespaces seem to 
interfere with processing now.

Removing the space resolves the issue. Lesson learned!

Thank you very much and keep up the invaluable work at the Tomcat project which 
is a boon to so many developers out there including me! ;) 

Best wishes,
Sebastian

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to