jsp <% %>与<%! %>的区别

likgui 2007-04-12 09:37:30
如题,不知这连个符号有什么区别,请大家指点一下!
...全文
1579 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
likgui 2007-04-12
  • 打赏
  • 举报
回复
定义了两个变量
<% int i = 0 %>
<%! int j = 0 %>

在<%%>中定义的变量i不是在整个页面都可以用吗?在<%!%>定义的j的作用域又是什么?
daniel_kaka 2007-04-12
  • 打赏
  • 举报
回复
jsp写的代码,经过Tomcat或别的什么容器编译后,最终是以_youjspname_jsp.java形式出现的,代码基本样式如下:
public final class _youjspname_jsp extends org.apache.jasper.runtime.HttpJspBase
implements org.apache.jasper.runtime.JspSourceDependent {

int n = 0;
private static java.util.Vector _jspx_dependants;

public java.util.List getDependants() {
return _jspx_dependants;
}

public void _jspService(HttpServletRequest request, HttpServletResponse response)
throws java.io.IOException, ServletException {
int m = 0;
...
}
}
其中_jspService()是jsp的主体~~

在上面的代码中,有两个变量,全局变量n和局部变量m,其中n就是用<%!int n = 0;%>定义的,m是用<%int m = 0;%>定义的,如果你在<%!%>里面定义一个方法,那么这个方法将是class _youjspname_jsp的一个方法;<%%>是不允许定义方法的,原因很明显:方法里面不允许定义方法!

SINCE1978 2007-04-12
  • 打赏
  • 举报
回复
<%!...%>以及<%useBean...%>(好像这么写忘了)...
这些JSP标签很少用到的,一般都在<%%>里面做。
古月一刀2005 2007-04-12
  • 打赏
  • 举报
回复
<%%>叫代码片段,用户装java代码的.<%!%>叫声明,用于声明函数或变量的。相当于声明类的成员。

解释的比较好!
bl_long1 2007-04-12
  • 打赏
  • 举报
回复
<%%>叫代码片段,用户装java代码的.<%!%>叫声明,用于声明函数或变量的。相当于声明类的成员。
SK猫 2007-04-12
  • 打赏
  • 举报
回复
一般<%! %>里放函数
flyIce945 2007-04-12
  • 打赏
  • 举报
回复
<%这个里面写java代码%>
<%!--这个里面是JSP的注释--%>
<%! var可设置该页面的全局变量%>

按照印象写的^^自己考证下哦~
shuhang1106 2007-04-12
  • 打赏
  • 举报
回复
<%%>是jspscript代码段,在由jsp转换成Servlet后 <%%>中的代码是放在serive方法中,相当与
doGet()和doPost()方法
<%!%>是jsp声明,用来定义属性和方法的,在由jsp转换成Servlet后 <%!%>中的代码是放serive
方法之外的
<%=%>是jsp表达式,在由jsp转换成Servlet后 <%=%>中的代码是放在,service方法中的
out.println("这里")中的其中的内容将直接输出到浏览器的页面中

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧