tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 50194] New: ELParsing fails when an expression with function contains a dash (minus) on 6.0.2.20 and up
Date Mon, 01 Nov 2010 22:20:10 GMT
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: jsartoris@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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org


Mime
View raw message