看下面代码中含<!---->符号的那段 <% 
List categories = Category.getCategories(); 
%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=GB18030"> 
<script language="javascript" src="script/TV20.js"></script> 
<title>类别列表</title> 
</head> 
<body> 
<script language="javascript"> 
<!-- 
addNode(-1,0,"所有类别","images/top.gif"); 
<% 
for(int i=0;i<categories.size();i++){ 
Category c = (Category)categories.get(i); 
%> addNode(<%=c.getPid()%>,<%=c.getId()%>,"<%=c.getName()%>","images/top.gif"); <% 

%> showTV(); 
--> </script> </body> 
</html> 
***************************************************其中<!---->符号不是用来 注释掉 的吗? 怎么代码还能用呢? 应该是我没理解 请求指点 多谢~~~***************************************************

解决方案 »

  1.   

    <!---->用于注释html,其中<%%>包涵的java代码还是照常运行的
    因为你的jsp在运行时接受第一次请求是要先被编译成一个servlet的(jsp本身就是一个servlet,只不过前者偏渲染层,后者偏控制层),编译完成后则执行,遇到普通的html代码则直接用输出流刷出,遇到jstl/struts等标签及<%%>中包含的java代码也会执行,而这时的<!---->会被认为是html的字符串被直接写出,等到发送到浏览器端时才起作用,而这时里面包含的java代码早在服务端就被执行过了。
    建议楼主研究一下jsp、servlet的一些基础知识。
      

  2.   

    你这个叫HTML注释也叫不完全注释如果你不想让代码执行用这个
    JSP注释<%--document--%>
      

  3.   

    简单的说就是<!-- -->是html注释,这种注释对javascript,jsp等都是不起作用的。javascript接受像//的注释信息,jsp接受像 <%// %> <%/* */%>的注释信息。还有jsp中的<%--    --%>客户端不可以看见,写给程序员。其他的客户端是可见的注释信息