在J2EE中

来源:百度知道 编辑:UC知道 时间:2024/05/20 09:28:51
在J2EE中
<%@page contentType="text/html;charset=gb2312"%>
<% int x=15; %>
<%! int x=17; %>
<%!
int getX(){
return x;
}
%>
<% out.print("X1="+x); %>
<% out.print("X2="+getX()); %>

输出结果为什么是 X1=15 X2=17
请高人指点 多谢啦

<%! %>叫做声明,用于声明jsp代表的成员变量和方法。语法为
<%! declaration;declaration;...%>,每个声明只在当前页面生效。
而在<% %>标记之间主要是嵌入java语言代码,嵌入的程序片段成为scriptlet。<%! int x=17; %> 和
<%!
int getX(){
return x;
}
%> 都为声明,相当于。
<%! int x=17;
int getX(){
return x;
}
%> ,因此x2=17;
而<% int x=15; %> 是java语言代码,与声明是独立的,因此x1=15