Re: c:forEach doesn't support variable in Tomcat 7.0.54 while 7.0.37 supports

2014-06-05 Thread Konstantin Kolinko
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

2014-06-05 Thread Jeff Cai
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