今天在弄JSTL标签的时候,用到了<c:redirect>重定向标签的时候遇到一个很是蛋疼的问题,就是当我测试完成这个标签的时候,我想测试其他的内容,由于它是重定向的(浏览器地址会发生改变的),这样肯定会影响我后面的测试,于是我就想把这行代码注释了:
<!--<c:redirect url="/include.jsp"></c:redirect>-->
然后测试其他的内容了,但是问题来了,我每次刷新浏览器的时候,还是重定向了,我就纳闷了,这句话不是注释了吗?怎么还是执行了,然后我就把这句话删除了,这时候就好了,此时就怀疑这个注释到底有没有用,然后上网查看资料,知道这种注释对于Jsp是没有用的,它是html/xml的原版注释,应该使用
<%--<c:redirect url="/include.jsp"></c:redirect>--%>
这个注释就可以了,随后又想起来了,还有Java中原版注释://和/**/,其实也可以这样注释的:
<%//--<c:redirect url="/include.jsp"></c:redirect>--%>,
这个和上面的两种有什么区别呢?这时候就可能需要jsp的执行过程了,这里就简单说一下:每个jsp页面都会被jsp引擎翻译成servlet.java的,具体内容可以到tomcat目录下的work文件夹中的项目工程中找到对应的文件,所以最后一种注释是彻底的注释了,因为他在servlet.java中就被注释了,而前面的两种注释在servlet.java代码中是没有被注释的,下面就是servlet.java中的代码片段:
使用<%//....%>注释的:
out.write(" -->\r\n");
out.write(" <br><br>\r\n");
out.write(" \r\n");
out.write(" <!-- c:redirect标签的使用:重定向打开include.jsp页面 -->\r\n");
out.write(" ");
//<c:redirect url="/include.jsp"></c:redirect>
这里可以看到,这句话直接被注释了,即:Jsp中<%...%>中的内容会原封不动的翻译成servlet.java
使用<%----%>注释的:
out.write(" -->\r\n");
out.write(" <br><br>\r\n");
out.write(" \r\n");
out.write(" <!-- c:redirect标签的使用:重定向打开include.jsp页面 -->\r\n");
out.write(" ");
使用<!---->注释的:
out.write(" -->\r\n");
out.write(" <br><br>\r\n");
out.write(" \r\n");
out.write(" <!-- c:redirect标签的使用:重定向打开include.jsp页面 -->\r\n");
out.write(" <!--");
if (_jspx_meth_c_005fredirect_005f0(_jspx_page_context))
return;
综上所述可以发现,原因可能在于那段代码:
if (_jspx_meth_c_005fredirect_005f0(_jspx_page_context))
return;
这个方法是针对redirect标签的做判断的,所以原因就在这个方法内部,可以自行查看,需要注意的是,如果使用<%...%>和<%----%>的话,servelet.java中是没有这个方法的,这一点更能说明为什么<!---->注释没有效果了!
总结:
1.第一种注释:
<!--注释内容-->
这是HTML/XML的原版注释,会老老实实的发到客户端的,有什么见不得人的就别用这个写了
2.第二种注释:
<%--注释内容--%>
有<% %>的东西都是写给JSP应用服务器看的,不会发到客户端的。编译器将其置之不理,html也无缘与其相见,被应用服务器打入冷宫了。这个注释感觉比较多余,不知道专门又搞一个这种注释干什么。
3.第三种注释:
<%
//当行注释
/**
多行注释
*/
%>
分享到:
相关推荐
最详细的jsp页面中注释方法,为新手解决jsp编写时的注释问题
jsp简单语法,servlet,JSP概述,JSP页面构成,注释,指令,脚本元素,动作元素,错误处理
jsp核心语法入门。JSP中注释有两种,一种是HTML注释,在客户端会显示出来的。另一种是隐藏注释,在客户端用户看不到。。。。。
NULL 博文链接:https://thinktothings.iteye.com/blog/854799
jsp完整的上传例子、有注释详解jsp完整的上传例子、有注释详解jsp完整的上传例子、有注释详解
jsp的注释可能会影响页面加载速度让代码扔继续执行.docx
关于公司团队开发jsp项目的注释模板,有助于组员明白代码。
-- 我是JSP注释,在客户端不可见 --%> <% //单行注释 /*多行注释*/ out.println(大家好,欢迎大家学习JAVAEE开发。); %> 你好,<%=s %> x+y=<%=add(10,5) %> </body...
详细jsp分页程序/有注释说明 <form method="POST" action="fenye1.jsp"> 第页 共页 (intPage){%> href="fenye1.jsp?page=<%=intPage+1%>">下一页 </a><%}%> (intPage>1){%><a href="fenye1.jsp?page=...
jsp投票管理系统源码(内容详细含注释)~~~~~~~~~~~
JSP中的注释—JSP注释;;使用何种注释;关于客户端动态;关于服务端动态;静态包含—include指令;a.jsp静态包含b.html;静态包含原理;静态包含的问题;动态包含—include操作;a2.jsp动态包含b2.jsp;a2.jsp对应Servi
简单易懂的struts2实现jsp现实分页技术。
JSP注释:包括输出注释、隐藏注释; JSP脚本元素 :包括声明、表达式、脚本程序; JSP指令元素 :包括Page指令、Include指令和Taglib指令; JSP动作元素:包括Include动作、forward动作、param动作、plugin动作、...
统计代码有效行数、注释行数、空白行数。支持java,jsp,xml一种或多种同时统计,可统计具体文件和文件夹下所有文件,统计结果实时更新显示,界面友好,操作简便。
1.3.1 JSP页面中的元素 14 1.3.2 JSP语法概要 15 1.3.3关于模板文本(静态HTML) 16 1.4 运行第一个Jsp程序 16 1. 5本章小结 20 第2章Jsp 基础学习 20 2.1 JSP基本语法 20 2.1.1 JSP 语法之...
Source Code for TOPPERS/JSP Kernel
Java Web应用开发 09 课堂案例-使用JSP注释.docx 学习资料 复习资料 教学资源
java jsp语法(1)--html注释