当前位置:首页 > 开发 > 编程语言 > JSP > 正文

jsp 变量作用域

发表于: 2010-04-28   作者:cw_xcy   来源:转载   浏览:
摘要: 在<% .... %>定义的变量是JSP的本地变量,它们对于外部函数是不可见的,即使这些函数和变量在同一页面中声明。如: <% int evilVariable = "666"; %> ... function testFunction() { //在函数内部,变量evilVariable是不可见的 } 为什么呢?这是因为变量 evi
在<% .... %>定义的变量是JSP的本地变量,它们对于外部函数是不可见的,即使这些函数和变量在同一页面中声明。如:

<%
int evilVariable = "666";
%>
...
function testFunction() {
//在函数内部,变量evilVariable是不可见的
}
为什么呢?这是因为变量 evilVariable最终成为结果servlet中service()方法的一个本地变量,因此它不能被结果servlet的其它方法存取。

对于在<%! %>中声明的变量将作为全局变量。如:

<%!
int evilVariable = "666";
%>
...
function testFunction() {
int x = evilVariable; //能够使用变量evilVariable
}
这是因为通过这种方式定义的evilVariable变量变为了结果servlet的一个私有成员变量,因此它可以被servlet中的所有的方法存取。

结论

理解以上的概念是很重要的,因为在servlet环境中,对于一个JSP页只允许有一个结果servlet的实例在运行和响应所有的页面请求。因此,在结果 servlet中所有的成员变量可以被所有的请求所共享,而service()方法中的本地变量只能每响应一次请求就重建一次。故我们将变量放置到<SERVER></SERVER>标签中时,应注意以上的规则。

jsp 变量作用域

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号