在<% %> 中定义的变量与<%!  %>中定义的变量有什么不同?

解决方案 »

  1.   

    <% %>定义局部变量,每次访问页面的时候变量都要声明;
    <%!  %>定义成员变量,访问页面的话只声明一次。
      

  2.   

    和那简单 
    <% %>中定义的变量为局部变量  他在JSP转化为servlet的时候是jsp_servlet方法里面的局部变量 
    而<%! %>中定义的为全局变量 他在JSP转化为servlet的时候为全局变量
      

  3.   

    <%int i=5;%>
    局部变量
    <%!int i=6; %>
    全局变量楼主可以去tomcat下的work\Catalina\localhost  找到自己的项目
    并找到页面对应生成的servlet 打开看看就明白了
      

  4.   

    <% %>中定义的变量不是静态的
    而在<%! %>中定义的变量是public static型的 只初始化一次
    <% int b=2;%>
    <%! int a=2;%>
    <%=a++%>  <%=b%>
    在jsp中运行四次 
    第一次:a=2 b=2
    第二次:a=2 b=2
    第三次:a=3 b=2
    第四次:a=4 b=2
    这里面是有很多学问的 关键的是在不断的实践中发现问题 解决问题 以求不断的提高自己
      

  5.   

    <%! > 是全局变量
    <%%> 是局部变量
      

  6.   


    <% %>定义局部变量,每次访问页面的时候变量都要声明; 
    <%!  %>定义成员变量,访问页面的话只声明一次。我感觉这个就够用啦
      

  7.   


    class xxx{
    int i;//<%!%>
    doPost(HttpServletRequest  req,HttpServletResponse rep){
         int i;//<%%>
    }
    }区别就是这样
      

  8.   

    <% %>中定义的变量为局部变量  他在JSP转化为servlet的时候是jsp_servlet方法里面的局部变量 
    而 <%! %>中定义的为全局变量 他在JSP转化为servlet的时候为全局变量
      

  9.   

    class xxx{
    int i;//<%!%>
    doPost(HttpServletRequest  req,HttpServletResponse rep){
         int i;//<%%>
    }
    }
      

  10.   

    一楼的说的是对的吧 
    <%!  %>定义成员变量,访问页面的话只声明一次
      

  11.   

    <%!  %>:全局变量(实例化一次)      类、方法(很少)
    <%   %>:具体的JAVA 代码
             局部变量       脚本小程序