[ 
https://jira.jboss.org/jira/browse/RF-5299?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Belaevski updated RF-5299:
-------------------------------

    Assignee: Nick Belaevski  (was: Andrei Markavtsov)


> EL expression doesn't work for filterExpression attribute of dynamic columns 
> in case expression start with dollar($) sign.
> --------------------------------------------------------------------------------------------------------------------------
>
>                 Key: RF-5299
>                 URL: https://jira.jboss.org/jira/browse/RF-5299
>             Project: RichFaces
>          Issue Type: Bug
>    Affects Versions: 3.3.0
>         Environment: IE6, IE7, FF 3.1.3, Safari 3.1, Opera 9.62(3.3.0.BETA3) 
> jsp-myfaces
>            Reporter: Mikhail Vitenkov
>            Assignee: Nick Belaevski
>            Priority: Optional
>             Fix For: Future
>
>
> #1. Set filterExpression="${'a' < 'b'}" inside rich:columns:
> <rich:dataTable>
> <rich:columns value="#{columns.data2}" var="d2" 
> footerClass="#{style.footerClass}" headerClass="#{style.headerClass}" 
> breakBefore="#{columns.breakBefore}" colspan="#{columns.colspan}"
>                       columns="#{columns.columns}"
>                       filterBy="#{d1.str0}" 
>                       filterValue="#{columns.filterValue[index]}" 
>                       filterExpression="#{'a'<'b'}"
> ...>
>                       <f:facet name="header">
>                               <h:outputText value="header 
> #{d2.int0}"></h:outputText>
>                       </f:facet>
> <h:outputText value="#{index}. "></h:outputText>
>                       <h:outputText value="#{d1.str0}, "></h:outputText>
>                       <h:outputText value="#{d2.str0}"></h:outputText>
>                       <h:outputLink 
> value="http://www.jboss.com/";><f:verbatim>Link</f:verbatim></h:outputLink>
>                       <f:facet name="footer">
>                               <h:outputText value="footer 
> #{d2.int0}"></h:outputText>
>                       </f:facet>
>               </rich:columns>
> </rich:dataTable>
> #2. Navigate to the page
> Actual behavior: following exception appears - javax.faces.FacesException: 
> /Columns/Columns.jsp(38,2) According to TLD or attribute directive in tag 
> file, attribute filterExpression does not accept any expressions
>       at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:347)
>       at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.buildView(JspViewHandlerImpl.java:486)
>       at 
> org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:337)
>       at 
> org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
>       at 
> org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:197)
>       at 
> org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
>       at 
> org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:140)
>       at javax.faces.webapp.FacesServlet.service(FacesServlet.java:155)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
>       at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:307)
>       at 
> org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:407)
>       at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:534)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:246)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:301)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>       at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
>       at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>       at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>       at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>       at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>       at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
>       at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>       at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>       at java.lang.Thread.run(Unknown Source)
> Caused by: org.apache.jasper.JasperException: /Columns/Columns.jsp(38,2) 
> According to TLD or attribute directive in tag file, attribute 
> filterExpression does not accept any expressions
>       at 
> org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
>       at 
> org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
>       at 
> org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
>       at 
> org.apache.jasper.compiler.Validator$ValidateVisitor.checkXmlAttributes(Validator.java:1124)
>       at 
> org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:819)
>       at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
>       at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
>       at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
>       at 
> org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
>       at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
>       at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
>       at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
>       at 
> org.apache.jasper.compiler.Validator$ValidateVisitor.visit(Validator.java:838)
>       at org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1512)
>       at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
>       at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2393)
>       at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2399)
>       at org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
>       at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2343)
>       at org.apache.jasper.compiler.Validator.validate(Validator.java:1737)
>       at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:165)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:314)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:294)
>       at org.apache.jasper.compiler.Compiler.compile(Compiler.java:281)
>       at 
> org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
>       at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
>       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:535)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:472)
>       at 
> org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
>       at 
> org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fpanelGroup_005f0(Rich_jsp.java:756)
>       at 
> org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fpanelGrid_005f0(Rich_jsp.java:698)
>       at 
> org.apache.jsp.pages.Rich.Rich_jsp._jspx_meth_h_005fform_005f0(Rich_jsp.java:310)
>       at org.apache.jsp.pages.Rich.Rich_jsp._jspService(Rich_jsp.java:150)
>       at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>       at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
>       at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
>       at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>       at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:630)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
>       at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
>       at 
> org.apache.myfaces.context.servlet.ServletExternalContextImpl.dispatch(ServletExternalContextImpl.java:341)
>       ... 31 more
> #3. Replace ${'a' < 'b'} with #{'a' < 'b'}  and navigate to the page - 
> everything works fine.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
richfaces-issues mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/richfaces-issues

Reply via email to