你问的应该是jsp种的吧!
<%! %>是jsp中嵌入的java 声明。
用于声明脚本语言变量或方法。
而<% %>是jsp种嵌入的java 脚本代码片段。
最主要的区别是jsp文件在编译成java时他们的构造时间不一样。先构建声明块,然后是jsp的page、request等内建对象,然后才是java代码块。所以<%! %>中不可以使用JSP内建对象,而<% %>中的代码可以使用jsp的page、request等内建对象。
jsp 都是解析成.java文件`
具体代码请看
如果你写
<%int a=1;%>
生成的代码是
public class xxx_jsp {
public void doProcess(...) ..
{
int a =1; //这是你在jsp 里的代码
}
}
如果你写的是
<%!
int a=1;
%>
public class xxx_jsp {
int a =1; //这是你在jsp 里的代码
public void doProcess(...) ..
{
}
}
这就是区别 聪明的楼主能看明白吧
JSP中<%! %>是被用来声明变量的,而<%%>是用来写Java代码的。
其实<%%>中也可以定义变量,只不过是个官方建议和设计时的问题。
这是jsp中的吧,一个是用来声明变量的,一个是写java code 的.
<%! %> 没有具体意义 加了"!"号以后 <% %>中的代码讲无法正确通过编译,造成错误.<% %>中是在页面中书写Java代码的的地方.
如需要注释<%- 注释 -%> 请用这种方式.