jsp的变量分为两种,一是全局变量,另外一种是局部变量。
◆在标记符<%! %>之间声明的变量是全局变量,这些变量在整个jsp页面内都有效,与<%! %>在页面中书写的位置无关。比如下面的程序:
<%@ page contentType="text/html;Charset=utf-8" language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
<%!
int sum = 1;
%>
<%
sum+=1;
out.println("sum的值是:"+sum);
%>
<%=sum%>
</body>
</html>
浏览器没刷新一次或者不同的浏览器浏览该页面,sum的值都会加1。
◆在标记符<% %>之间声明的变量是局部变量,只在当前页面有效。
<%@ page contentType="text/html;Charset=utf-8" language="java" import="java.util.*" pageEncoding="utf-8"%>
<html>
<head>
</head>
<body>
<%
int sum = 1;
%>
<%
sum+=1;
out.println("sum的值是:"+sum);
%>
<%=sum%>
</body>
</html>
这个程序与上面程序不同的地方在于sum是在<% %>之间声明的,无论是刷新页面或是在新的浏览器中打开,都是一样的值。