首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

JSP一道很基础的有关问题

2012-02-12 
JSP一道很基础的问题body%inti1%%this.i%%!inti0%/body为什么会打印0呢....[解决办法]LZ~~

JSP一道很基础的问题
<body>
      <%   int   i=1;%>
<%=this.i%>
<%!int   i=0;%>
    </body>

为什么会打印   0   呢....

[解决办法]
LZ~~
你是自己知道,来考别人。
还是不知道,来问别人阿?
[解决办法]
<body>
<% int i=1;%> //这个i是局部变量,生命周期出了 <% %> 就结束了.
<%=this.i%> //这个打印的是全局变量.
<%!int i=0;%> //这个声明的是全局变量,这个i赋值是什么打印的就是什么.如果没有这个全局变量就会报错,这样解释清楚了吗?
</body>
[解决办法]
......
[解决办法]
<% int i=1;%> //这个i是局部变量,生命周期出了 <% %> 就结束了.
------------------------------------
错了,整个页面都可以用的
[解决办法]
<%!int i=0;%>

jsp编译后会生成一个java类文件,观察这个类文件,你会发现,以上面方式定义的i成为这个类的一个成员变量。

而 <% int i=1;%> 中的i确实是一个局部变量,但是在整个jsp中也都可用
[解决办法]
学习中
[解决办法]
能用this么?
[解决办法]
<%! int i=0%> ,是个全局变量,你给赋值0了,所有打印为0啊
[解决办法]
上面的代码写在servlet里是这样的
public class Xxx extends HTTPServlet {
......
int i = 0;
public void doXxx(HttpServletRequest req,
HttpServletResponse res) throws ServletException {
......
int i = 1;
out.println(this.i);
......
}
}
所以打出来的是0
想正确输出1的话
把 <% int i=1;%> 改成 <% i=1;%>
[解决办法]
<%!int i=0;%> 声明成员变量
<%int i=0;%> 声明局部变量

热点排行