请大家指教。

cute 03-08-06

在JSP页面中,进行声明变量。我发现s只初始化一次(就算关闭浏览器S的值还是存在),符合我的想法。

问题: s的值什么时候取消??



<!
String s=null;
>
<%
if(s==null)
s="ddddddddddddddd";
else
out.print(
"存在数据");
%>

robbin
2003-08-06 09:26

不要用 <! ...> 这个标记,这个标记声明的是静态变量。

raynix
2003-08-06 10:08

初始化当然只有一次了,顾名思义么,呵呵。


在<%! %>中定义的reference的生存期等同于此servlet/jsp本身,所以这个s要等到_jspDestroy()被调用才消失,一般来说,就是此app被关闭或reload之时。



"就算关闭浏览器S的值还是存在", 呵呵,服务器端的obj是生存在浏览器中么?

raynix
2003-08-06 10:14

> 不要用 <! ...> 这个标记,这个标记声明的是静态变量。


应该是“成员变量”吧?

robbin
2003-08-06 10:33

用了!以后,就声明了静态成员变量,相当于:

public static String s = null;

3Go 1 2 3 下一页