Re: c:forEach doesn't support variable in Tomcat 7.0.54 while 7.0.37 supports
2014-06-05 13:50 GMT+04:00 Jeff Cai jeff_...@symantec.com: Hi, In tomcat 7.0.54, the variable is not supported. I changed the source apache-tomcat-7.0.54/webapps/examples/jsp/tagplugin/foreach.jsp c:set var=num value=20 / c:forEach var=item begin=1 end={$num} ${item} /c:forEach Then it reports: org.apache.jasper.JasperException: Unable to compile class for JSP org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:672) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.NumberFormatException: For input string: {$num} java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) java.lang.Integer.parseInt(Integer.java:492) java.lang.Integer.valueOf(Integer.java:582) org.apache.jasper.compiler.JspUtil.coerceToInt(JspUtil.java:605) org.apache.jasper.compiler.Generator$GenerateVisitor.convertString(Generator.java:3184) org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:3001) org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:3106) org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2276) org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1768) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2429) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2435) org.apache.jasper.compiler.Node$Root.accept(Node.java:474) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377) org.apache.jasper.compiler.Generator.generate(Generator.java:3517) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) I did same tests on Tomcat 7.0.37 and this error did not happen. What are the first lines of your WEB-INF/web.xml file? My guess is that you are adhering to an old version of specification there, that does not support EL. I can also suggest you to configure your Tomcat in strict servlet compliance mode and see whether it complaints. http://tomcat.apache.org/tomcat-7.0-doc/config/systemprops.html#Specification Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: c:forEach doesn't support variable in Tomcat 7.0.54 while 7.0.37 supports
Sorry, I made a mistake in defining the variable. Jeff -Original Message- From: Jeff Cai [mailto:jeff_...@symantec.com] Sent: Thursday, June 05, 2014 5:51 PM To: users@tomcat.apache.org Subject: c:forEach doesn't support variable in Tomcat 7.0.54 while 7.0.37 supports Hi, In tomcat 7.0.54, the variable is not supported. I changed the source apache-tomcat-7.0.54/webapps/examples/jsp/tagplugin/foreach.jsp c:set var=num value=20 / c:forEach var=item begin=1 end={$num} ${item} /c:forEach Then it reports: org.apache.jasper.JasperException: Unable to compile class for JSP org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:672) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause java.lang.NumberFormatException: For input string: {$num} java.lang.NumberFormatException.forInputString(NumberFormatException.java:65) java.lang.Integer.parseInt(Integer.java:492) java.lang.Integer.valueOf(Integer.java:582) org.apache.jasper.compiler.JspUtil.coerceToInt(JspUtil.java:605) org.apache.jasper.compiler.Generator$GenerateVisitor.convertString(Generator.java:3184) org.apache.jasper.compiler.Generator$GenerateVisitor.evaluateAttribute(Generator.java:3001) org.apache.jasper.compiler.Generator$GenerateVisitor.generateSetters(Generator.java:3106) org.apache.jasper.compiler.Generator$GenerateVisitor.generateCustomStart(Generator.java:2276) org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1768) org.apache.jasper.compiler.Node$CustomTag.accept(Node.java:1538) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377) org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2429) org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2435) org.apache.jasper.compiler.Node$Root.accept(Node.java:474) org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2377) org.apache.jasper.compiler.Generator.generate(Generator.java:3517) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:250) org.apache.jasper.compiler.Compiler.compile(Compiler.java:373) org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) javax.servlet.http.HttpServlet.service(HttpServlet.java:727) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) I did same tests on Tomcat 7.0.37 and this error did not happen. Jeff - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org