An error occurred at line: 12 in the jsp file: /jsp/MyJsp/Exa27_2.jsp
i cannot be resolved to a variable
9: <%! int s=1; %>
10: <% for(int i=1; i<=10; i++) %>
11: <% { %>
12: 数字<%= i %>的阶乘是: <%=  (s=s*i)%> <br>
13: <% } %>
14: </body>
15: </head>小弟新手刚学JSP,不知道上面为什么不能那样写,为什么必须写成
 <% for(int i=1; i<=10; i++) { %>
这样才可以

解决方案 »

  1.   

    因为<%%>里面是java代码,在编译jsp的时候会把它当做程序代码来执行 这是一个循环语句,<%%>外面的简单来说就是html的内容,后台的work那个什么文件夹里面找到编译成的java文件中可以看到<%%>外面的内容都是用out输出的,其实我觉着你上面那写的大括号不在一起的也应该是可以的
      

  2.   

    <%%>这里面的是JSP代码,但是JSP代码几乎跟JAVA代码一样,所以需要<%%>你这个for之所以这样写,是因为:"这里面的是html的代码,它不是JSP代码呀,你要在界面上输出<tr></tr>一行一行的,就要用到这个for(),因为jsp代码可以直接写在html页面里面的;!";
    望给分;
      

  3.   

    因为<%%>里面是java代码,在编译jsp的时候会把它当做程序代码来执行 这是一个循环语句,<%%>外面的简单来说就是html的内容,后台的work那个什么文件夹里面找到编译成的java文件中可以看到<%%>外面的内容都是用out输出的,也可以用表达式啊