https://issues.apache.org/bugzilla/show_bug.cgi?id=50194

           Summary: ELParsing fails when an expression with function
                    contains a dash (minus) on 6.0.2.20 and up
           Product: Tomcat 6
           Version: 6.0.20
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: regression
          Priority: P2
         Component: Jasper
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: jsarto...@hotmail.com


Hello,
There is possibly a regression in the ELParser code on Tomcat 6.0.2.20.  The
issue I see works fine on Tomcat 6.0.2.18. 
I've also tried on Tomcat 6.0.2.29 and it is still failing.

A JSF application which uses Facelets (with .xhtml files) and a custom tag
which contains an expression with a function call starts to fail in Tomcat
6.0.2.20.  

The code snippet from the app is:
------------------
<ui:composition xmlns="http://www.w3.org/1999/xhtml";
    xmlns:ui="http://java.sun.com/jsf/facelets";
    xmlns:h="http://java.sun.com/jsf/html";
    xmlns:f="http://java.sun.com/jsf/core";
    xmlns:pre-posttag="http://www.test.com/dash";>

    <h:outputText value="testing" rendered="#{pre-posttag:test()}"/>

</ui:composition>
-----------------

The exception thrown is (See caused by section):
====================
Throwable occurred: com.sun.facelets.tag.TagAttributeException: /test.xhtml
@20,63 rendered="#{pre-posttag:test()}" Function 'posttag:test' not found
at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:259)
at
com.sun.facelets.tag.jsf.ComponentRule$ValueExpressionMetadata.applyMetadata(ComponentRule.java:69)
at com.sun.facelets.tag.MetadataImpl.applyMetadata(MetadataImpl.java:36)
.....

Caused by: javax.el.ELException: Function 'posttag:test' not found
at org.apache.el.lang.ExpressionBuilder.visit(ExpressionBuilder.java:175)
at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:145)
at org.apache.el.parser.SimpleNode.accept(SimpleNode.java:148)
at org.apache.el.lang.ExpressionBuilder.prepare(ExpressionBuilder.java:133)
at org.apache.el.lang.ExpressionBuilder.build(ExpressionBuilder.java:151)
at
org.apache.el.lang.ExpressionBuilder.createValueExpression(ExpressionBuilder.java:194)
at
org.apache.el.ExpressionFactoryImpl.createValueExpression(ExpressionFactoryImpl.java:68)
at com.sun.facelets.tag.TagAttribute.getValueExpression(TagAttribute.java:256)
... 35 more
====================

I've been narrowing the problem down but I cannot find the appropriate way to
fix this as it's generated code.  The issue appears to be caused by the changes
made to the code in this revision:

http://svn.apache.org/viewvc?view=revision&revision=681737

-- 
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

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

Reply via email to