3.1 JSP注释

在编写代码过程中,并不是只让自己看懂就可以了,要养成良好的给代码做注释的习惯,这是一名优秀编程人员所必备的条件之一。给代码做注释不仅不会浪费编程时间,反而能提高编程效率,使程序更加清晰、完整、友好。在JSP文件中,有两种标准的注释方式,即HTML注释和隐藏注释。

3.1.1 HTML注释

HTML注释类似于HTML中使用的那些注释,是能在客户端显示的一种注释,即它是可以在客户端浏览器中通过查看网页代码就可以看到的注释信息。这种注释方式也可以插入任何有效的表达式、JSP指令和动作,使得注释更具有互动性和实时性。HTML注释的语法格式如下。

<!-- 注释信息[<%=expression%>]-->

其中,表达式expression是可选的。如果有expression,JSP页面在进行编译时,编译器会扫描注释内的代码来确保相应表达式的正常执行。然后在客户端浏览器中,浏览者可以通过查看源文件看到该注释。下面通过一个具体的实例来说明如何在JSP页面中使用HTML注释(请查看源码目录/HTMLAnnotation项目)。

●首先,打开MyEclispe,新建一个Web项目,项目名为:HTMLAnnotation(如何新建项目,请查看第1章1.6.2常用操作小节中的相关知识)。

●然后,单击文件,在<html>和</html>标记之外输入以下代码,然后保存,其index.jsp文件的完整代码如下。

<!-- 这是网站首页 -->
<!-- 网页打开时间:<%= (new java.util.Date()).toLocaleString() %> -->
<html>
 <head>
  <title>My JSP 'index.jsp' starting page</title>
 </head>
 <body>
  This is my JSP page. <br>
 </body>
</html>

在这段代码中,我们使用了前面介绍的HTML注释方式,第1个注释 :<!-- 这是网站首页 -->标记并没有使用表达式;在使用第2个注释:<!-- 网页打开时间:<%= (new java.util.Date()).toLocaleString() %> -->时,使用了表达式。

●最后,把HTMLAnnotation项目进行部署发布(如何部署发布请查看第1章的相关内容),其显示效果如图3.1所示。

图3.1 HTML注释示例显示效果

当我们在客户端单击右键查看源代码时,可以看到如下代码。

<!-- 这是网站首页 -->
<!-- 网页打开时间:2011-12-11 20:00:00 -->
<html>
 <head>
  <title>My JSP 'index.jsp' starting page</title>
 </head>
 <body>
  This is my JSP page. <br>
 </body>
</html>

请注意在客户端查看的源代码的前两行注释,第1行注释输出我们在服务器端进行注释的内容;第2行注释输出了当前打开网页的时间:2011-12-11 20:00:00,这里的时间与打开网页的具体时间有关。

3.1.2 隐藏注释

隐藏注释用于程序员在开发过程中的开发提示或说明,被注释的信息仅对JSP程序员可见,不会被输出到客户端,即对客户端用户是不可见的。这是因为用隐藏注释标记的字符在JSP进行编译时会被忽略,而标记内的所有JSP表达式、动作和指令等都将不起作用,其相应的代码也不会显示在客户端的浏览器中。隐藏注释的语法格式如下。

<%程序段
      /*多行注释内容
           多行注释内容*/
          程序段
      //单行注释内容
      程序段
%>

其中,我们可以在程序段的任何位置使用Java语言的多行注释,也可以使用单行注释,而注释的内容将无法在浏览器中被查看到。下面通过一个具体的实例来说明如何在JSP页面中使用隐藏注释(请查看源码目录/Annotation项目)。

●首先,打开MyEclispe,新建一个Web项目,项目名为:Annotation(如何新建项目,请查看第1章1.6.2常用操作小节中的相关知识)。

●然后,单击文件,在<html>和</html>标记之外输入以下代码,然后保存,其index.jsp文件的完整代码如下。

<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=GBK"
pageEncoding="GBK"%>
<html>
<head>
<title>输出当前日期</title>
</head>
<!-- 这是HTML注释(客户端可以看到)-->
<%-- 这是隐藏注释(客户端无法看到)--%>
<body>
今天是
<%
/*使用预定格式
将日期转换为字符串*/
SimpleDateFormat formater = new SimpleDateFormat("yyyy年MM月dd日");
//当前年月日
String strCurrentTime = formater.format(new Date());
%>
<%=strCurrentTime %>
</body>
</html>

在这段代码中,我们使用了前面介绍的隐藏注释方式,第1个注释 :<!-- 这是HTML注释(客户端可以看到)--> 在客户端的源代码中可以看到,而后面所使用的隐藏注释在客户端的源代码中看不到。

●最后,把Annotation项目进行部署发布(如何部署发布请查看第1章的相关内容),其显示效果如图3.2所示。

图3.2 隐藏注释示例显示效果

当我们单击右键查看源代码时,可以看到如下代码。

<html>
<head>
<title>输出当前日期</title>
</head>
<!-- 这是HTML注释(客户端可以看到)-->
<body>
今天是
2011年12月11日
</body>
</html>

上面的结果表明,使用隐藏注释的内容并没有显示到客户端,而嵌入的Java片断,即使包含Java注释,也只是为Java程序员所服务,并不会被发送到客户端。