日期:2014-05-17  浏览次数:20681 次

JSP的一些问题
今天看了一段代码

发现一个问题

在一个JSP 里面

<%!
String a="";
%>


<%
String a="";
%>

有什么区别吗?
------最佳解决方案--------------------
<%! 
这个定义,
相当于
class A{
String a;
}

<%
是程序变量
相当于
class A{
void jsp() {
String a = "ass";
}
}
------其他解决方案--------------------
我觉得你自己查看一下编译好的jsp文件了解的会更透彻一些,jsp文件中的java代码其实就是相当于一个Servlet代码,<%! String a%>相当于是给servlet定义了一个属性,就像2楼说的一样,<%String a%>相当于在servlet中的service()方法中定义了一个变量。
------其他解决方案--------------------
个人觉得全局变量与局部变量好理解点
------其他解决方案--------------------
引用:
<%! 
这个定义,
相当于
class A{
String a;
}

<%
是程序变量
相当于
class A{
void jsp() {
String a = "ass";
}
}

学习了
------其他解决方案--------------------
引用:
我觉得你自己查看一下编译好的jsp文件了解的会更透彻一些,jsp文件中的java代码其实就是相当于一个Servlet代码,<%! String a%>相当于是给servlet定义了一个属性,就像2楼说的一样,<%String a%>相当于在servlet中的service()方法中定义了一个变量。

学习了
------其他解决方案--------------------
学习了。111
------其他解决方案--------------------
<%!
String a="";
%>

转为java文件中是定义一个全局变量。
<%
String a="";
%>
转为java文件是写在方法中的局部变量。
------其他解决方案--------------------
引用:
<%! 
这个定义,
相当于
class A{
String a;
}

<%
是程序变量
相当于
class A{
void jsp() {
String a = "ass";
}
}


学习了  看来我两年的开发白做了  今天要回去温习一下基础了
------其他解决方案--------------------
 通过观察代码后我们发现,原先声明在<%! %>内的变量和方法是一个类内的变量和方法也就是成员变量和成员方法。声明在<%%>内的变量是一个方法的变量也就是局部变量。
------其他解决方案--------------------
http://www.cnblogs.com/zengmiaogen/archive/2012/04/15/2450414.html