看下面代码中含<!---->符号的那段 <%
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>
***************************************************其中<!---->符号不是用来 注释掉 的吗? 怎么代码还能用呢? 应该是我没理解 请求指点 多谢~~~***************************************************
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>
***************************************************其中<!---->符号不是用来 注释掉 的吗? 怎么代码还能用呢? 应该是我没理解 请求指点 多谢~~~***************************************************
因为你的jsp在运行时接受第一次请求是要先被编译成一个servlet的(jsp本身就是一个servlet,只不过前者偏渲染层,后者偏控制层),编译完成后则执行,遇到普通的html代码则直接用输出流刷出,遇到jstl/struts等标签及<%%>中包含的java代码也会执行,而这时的<!---->会被认为是html的字符串被直接写出,等到发送到浏览器端时才起作用,而这时里面包含的java代码早在服务端就被执行过了。
建议楼主研究一下jsp、servlet的一些基础知识。
JSP注释<%--document--%>