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]>

Reply via email to