大可制作:QQ群:31564239(asp|jsp|php|mysql)

JSP/Servlet Gossip: 注释与Quoting

JSP网页中可以在<% 与 %>之间直接使用Java语法撰写程序,所以您也可以在当中使用Java的注释方式来撰写注释文件,也就是可以使用//或是/*与*/包括来撰写注释,例如:
<%
    // 这是Java的注释方式
 
    out.println("随便显示一段文字");
 
    /*
        这是源自C的注释方式
    */
%>
 

使用这样的注释方式,在转译为Servlet原始码之后,JSP <% 与 %>之间设定的注释,在Servlet原始码中对应的位置也会有对应的注释文字,虽然生成在Servlet中的注释对于纯使用JSP网页的开发人员 来说可能不具意义,但这个方式不失为观察生成的Servlet原始码的工具,当您想观察JSP转换为Servlet后的某些特定行,您可以使用这种注释方 式来当作一种标记,方便您直接看到转换后的程序码位于哪一行。

JSP有一个专门设计给它使用的注释,即<%--与--%>,容器在转译JSP至Servlet时,会忽略<%--与--%>之间包括的文字,生成的Servlet中不会包括注释文字:
<html>
 <body>
    <%-- 显示现在时间 --%>
    Now Time: <%= new java.util.Date() %>
 </body>
</html>
 

“显示现在时间”这一段文字,不会出现在Servlet中,当然也就不会输出至浏览器。

至于网页设计人员所使用的注释方式<!--与-->严格说来并不是JSP的注释,对JSP来说,它只是HTML语法的一部份,在转译为Servlet之后,也只是像 out.write("<!-- 网页注释 -->"); 这样的陈述句,将之输出至客户端浏览器而已。

至于Quoting,简单的说,<% 与 %>被用来作为JSP中Java语法的部份,又称为称之为Scriptlet,如果您要在JSP网页中输出 <% 符号或 %>符号,不能直接写下<%或%>的符号,以免转译时被认为是Quoting,例如若JSP网页中包括下面这段,就会发生错误:
<%
    out.println("JSP中Java语法结束符号%>");
%>
 

如果您要在JSP中输出 <% 符号,您要使用 &lt;%,而输出 %> 时,要使用 %\>,例如:
<%
    out.println("&lt;% 与 %\>被用来作为JSP中Java语法的部份");
%>
 
其实仔细观察 &lt; 对于HTML语法来说,也是为了避免浏览器误以为是标签的 < 而使用的一种替代字节,如此浏览器才会正确的显示 < 符号,同样的道理,您也可以让out.println()输出%&gt;来于网页上显示%>的符号。