DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12393>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12393 Compile time error if passing EL as argument to property attribute Summary: Compile time error if passing EL as argument to property attribute Product: Tomcat 5 Version: Unknown Platform: Other OS/Version: Other Status: NEW Severity: Major Priority: Other Component: Jasper2 AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] The following compile time error occurs when a JSP has a set property that has an EL expression supplying a value to the "value" attribute of the jsp:property action. An error occurred at line: 15 in the jsp file: /jsp2/jspelpos/ELOperatorCompPos.jsp Generated servlet error: [javac] Compili ng 1 source file /home/ps125818/locus/tomcat5-src/jakarta-tomcat-5/dist/work/Standalone/localhost/tcatjsp2-tests/jsp2/jspelpos/ELOperatorCompPos_jsp.java:87: handleSetPropertyExpression(java.lang.Object,java.lang.String,java.lang.String,javax.servlet.jsp.PageContext,javax.servlet.jsp.el.VariableResolver,javax.servlet.jsp.el.FunctionMapper) in org.apache.jasper.runtime.JspRuntimeLibrary cannot be applied to (java.lang.Object,java.lang.String,java.lang.String,javax.servlet.jsp.PageContext,javax.servlet.jsp.PageContext,org.apache.jsp.ELOperatorCompPos_jsp) JspRuntimeLibrary.handleSetPropertyExpression(pageContext.findAttribute("cust"), "firstName", "${list[1].firstName}", pageContext, pageContext, this ); ^ 1 error at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:125) at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:293) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:364) at org.apache.jasper.compiler.Compiler.compile(Compiler.java:382) at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:553) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:270) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:289) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2505) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:405) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:380) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:508) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:533) at java.lang.Thread.run(Thread.java:536) ============ Here is the JSP: This JSP demonstrates the use of "[]" and "." operators to access methods and properties via EL The bean is an ArrayList of classes of type Customer. <br> Each Customer has the following properties: id<br> First Name <br> Last Name <br> Sex<br> The idea is to demonstrate the access of the Customer peroperties using the EL. <br> <jsp:useBean id="list" class="misc.CustomerList" /> <jsp:useBean id="cust" class="misc.Customer" /> <jsp:setProperty name="cust" property="firstName" value="${list[1].firstName}" /> The customer's first name is ${cust.firstName} The first Name of the First Customer : ${list[0].firstName} <br> The last Name of the Last Customer : ${list[4].lastName} -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>