[richfaces-issues] [JBoss JIRA] Created: (RF-5299) EL expression doesn't work for filterExpression attribute of dynamic columns in case expression start with dollar($) sign.

Mikhail Vitenkov (JIRA) jira-events at lists.jboss.org
Wed Dec 10 06:09:36 EST 2008


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


#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

        



More information about the richfaces-issues mailing list