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