JSP语法缺少不了注释声明,注释是为了能让他人看懂代码。

在 JSP 页面中可以使用多种注释,如 HTML 中的注释、Java 中的注释和在严格意义上说属于 JSP 页面自己的注释——带有 JSP 表达式和隐藏的注释。在 JSP 规范中,它们都属于 JSP 中的注释,并且它们的语法规则和运行的效果有所不同。接下来我们将介绍 JSP 中的各种注释。

HTML中的注释

JSP 文件是由 HTML 标记和嵌入的 Java 程序段组成的,所以在 HTML 中的注释同样可以在 JSP 文件中使用。注释格式如下:

  1. <!--注释内容-->

【例1】 HTML 中的注释:、

  1. <!--欢迎提示信息!-->
  2. <table><tr><td>欢迎访问! </td></tr></table>

使用该方法注释的内容在客户端浏览器中是看不到的,但可以通过查看 HTML 源代码看到这些注释内容。

访问该页面后,将会在客户端浏览器中输出以下内容:

  1. 欢迎访问!

通过查看 HTML 源代码,将会看到如下内容:

  1. <!--欢迎提示信息!-->
  2. <table><tr><td>欢迎访问! </td></tr></table>

带有JSP表达式的注释

在 HTML 注释中可以嵌入 JSP 表达式,注释格式如下:

  1. <!--comment<%=expression %>-->

包含该注释语句的 JSP 页面被请求后,服务器能够识别注释中的 JSP 表达式,从而来执行该表达式,而对注释中的其他内容不做任何操作。

当服务器将执行结果返回给客户端后,客户端浏览器会识别该注释语句,所以被注释的内容不会显示在浏览器中。

【例2】使用带有 JSP 表达式的注释:

  1. <%String name="XYQ";%>
  2. <!--当前用户:<%=name%>-->
  3. <table><tr><td>欢迎登录:<%=name%></td></tr></table>

访问该页面后,将会在客户端浏览器中输出以下内容:

  1. 欢迎登录:XYQ

通过查看 HTML 源代码,将会看到以下内容:

  1. <!--当前用户:<%=name%>-->
  2. <table><tr><td>欢迎登录:XYQ</td></tr></table>

隐藏注释

前面已经介绍了如何使用 HTML 中的注释,这种注释虽然在客户端浏览页面时不会看见,但它却存在于源代码中,可通过在客户端查看源代码看到被注释的内容。所以严格来说,这种注释并不安全。下面介绍一种隐藏注释,注释格式如下:

<%—注释内容—%>

用该方法注释的内容,不仅在客户端浏览时看不到,而且即使在客户端查看 HTML 源代码,也不会看到,所以安全性较高。

【例3】使用隐藏注释:

  1. <%--获取当前时间--%>
  2. <table>
  3. <tr><td>当前时间为:<% =(new java.util.Date()).toLocaleString() %></td></tr>
  4. </tabla>

访问该页面后,将会在客户端浏览器中输出以下内容:

  1. 当前时间为:2017-3-19 15:27:20

通过查看 HTML 源代码,将会看到以下内容:

  1. <table>
  2. <tr><td>当前时间为:2017-3-19 15 : 27 : 20</td></tr>
  3. </table>

脚本程序(Scriptlet)中的注释

脚本程序中包含的是一段 Java 代码,所以在脚本程序中的注释与在 Java 中的注释是相同的。

脚本程序中包括下面 3 种注释方法。

1. 单行注释

单行注释的格式如下:

  1. //注释内容

符号“//”后面的所有内容为注释的内容,服务器对该内容不进行任何操作。因为脚本程序在客户端通过查看源代码是不可见的,所以在脚本程序中通该方法注释的内容也是不可见的,并且后面将要提到的通过多行注释和提示文档进行注释的内容都是不可见的。

【例4】JSP 文件中包含以下代码:

  1. <% int count=6; //定义一个计数变量%>计数变量 count 的当前值为:<%=count%>

访问该页面后,将会在客户端浏览器中输出以下内容:

  1. 计数变量 cxnmt 的当前值为:6

通过查看 HTML 源代码,将会看到以下内容:

  1. 计数变量 count 的当前值为:6

因为服务器不会对注释的内容进行处理,所以可以通过该注释暂时删除某一行代码。例如下面的代码。

【例5】使用单行注释暂时删除一行代码:

  1. <%
  2. String name="XYQ";
  3. //name="XYQ2017";
  4. %>
  5. 用户名:<%=name%>

包含上述代码的 JSP 文件被执行后,将输出如下结果:

  1. 用户名:XYQ

2. 多行注释

多行注释是通过“/”与“/”符号进行标记的,它们必须成对出现,在它们之间输入的注释内容可以换行。注释格式如下:

  1. /*
  2. 注释内容1
  3. 注释内容2
  4. */

为了程序界面的美观,开发人员习惯在每行注释内容的前面添加一个号,构成如下所示的注释格式:

  1. /*
  2. *注释内容1
  3. *注释内容2
  4. */

与单行注释一样,在“/”与“/”之间注释的所有内容,即使是 JSP 表达式或其他脚本程序,服务器都不会做任何处理,并且多行注释的开始标记和结束标记可以不在同一个脚本程序中同时出现。

【例6】在 JSP 文件中包含以下代码:

  1. <%@ page contentType="text/html;charset=UTF-8"%>
  2. <%
  3. String state="0";
  4. /*if(state.equals("0"))
  5. {
  6. //equals()方法用来判断两个对象是否相等
  7. state="主版";
  8. %>
  9. 将变量state赋值为“主版”。<br>
  10. <%
  11. }
  12. */
  13. %>
  14. 变量state的值为:<%=state%>

包含上述代码的 JSP 文件被执行后,将输出如图 1 所示的结果。

若去掉代码中的“/”和“/”符号,则将输出如图 2 所示的结果。

图2 多行注释(二)

3. 文档注释。

该种注释会被 Javadoc 文档工具在生成文档时读取,文档是对代码结构和功能的描述。注释格式如下:

  1. /**
  2. 提示信息1
  3. 提示信息2
  4. */

该注释方法与上面介绍的多行注释很相似,但细心的读者会发现,它是以“/*”符号作为注释的开始标记,而不是“/”。与多行注释一样,对于被注释的所有内容,服务器都不会做任何处理。

【例7】在 Eclipse 开发工具中,在创建的 JSP 文件中输入以下代码:

  1. <%!
  2. int i = 0;
  3. /**
  4. @作者:dandelioncloud.cn
  5. @功能:该方法用来实现一个简单的计数器
  6. */
  7. synchronized void add()
  8. {
  9. i++;
  10. }
  11. %>
  12. <% add(); %>
  13. 当前访问次数:<%=i%>

将鼠标指针移动到 <% add(); %> 代码上,将出现如图 3 所示的提示信息。

图3 提示文档注释

JSP注释(多种注释详解)相关推荐

  1. python怎么读文件内容-Python读取文件内容为字符串的方法(多种方法详解)

    以下笔记是我在 xue.cn 学习群之数据分析小组所整理分享的心得.相关背景是:我选择中文词频统计案例作为考察大家python基础功掌握程度. 以小见大,下面是2个小技能的具体实战: 如何灵活地处理文 ...

  2. python清空集合_python集合删除多种方法详解

    这篇文章主要介绍了python集合删除多种方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 删除指定的元素 A={'a','c','b','d ...

  3. java做jsp问题_java/jsp中 中文问题详解

    java/jsp中 中文问题详解 更新时间:2006年10月13日 00:00:00   作者: 预备知识: 1.字节和unicode Java内核是unicode的,就连class文件也是,但是很多 ...

  4. 【算法】二分法多种情况详解

    二分法多种情况详解 1.存在的问题 2.[left, right] 左闭右闭区间 a. 注意: b. 代码实现: c. 代码优化: d.示例: 69. x 的平方根 3. [left, right) ...

  5. hbuilder在服务器端打开网页,HBuilderX配置tomcat外部服务器查看编辑jsp界面的方法详解...

    本文关键详细介绍了HBuilderX配置tomcat外界服务器查看编辑jsp界面的方式,文中根据案例文图紧密结合给大伙儿详细介绍的十分详尽,对大伙儿的学习培训或工作中具备一定的参照效仿使用价值,必须的 ...

  6. nginx 注释配置及详解

    前言 DMZ(Demilitarized Zone) 非军事区,生产环境 WEB 服务部署的区域,公司的架构为一台nginx 充当 load balance 服务,负载到两台 nginx 上面,反向代 ...

  7. Eclipse Java注释模板设置详解,更改 ${user}和${date}

    修改MyEclipse eclipse 注释的作者名字 转自:http://www.oschina.net/question/158170_31311 在eclipse/myeclipse中,当我们去 ...

  8. 关于Python的编码注释# -*- coding:utf-8 -*- 详解

    一.普通解释:                                                                                              ...

  9. 170828、Eclipse Java注释模板设置详解以及版权声明

    编辑注释模板的方法:Window->Preference->Java->Code Style->Code Template 然后展开Comments节点就是所有需设置注释的元素 ...

  10. java eclipse 注释模板_Eclipse Java注释模板设置详解

    文件(Files)注释标签: /** * @Description: ${todo}(用一句话描述该文件做什么) * @author thomas12112406 * @date ${date} ${ ...

最新文章

  1. 简单解析C++基于Boost库实现命令行
  2. 清除tomcat的缓存
  3. 物联网管理软件的设计
  4. 《Adobe Illustrator CC 2014中文版经典教程(彩色版)》—第1课1.4节修改图稿的视图...
  5. java中打开文件显示_在默认文件资源管理器中打开文件,并使用JavaFX或普通Java突出显示它...
  6. 5可视化数据大屏模板_可视化大屏模板分享
  7. 疯传短视频V7.10小程序源码
  8. 天池发起全球城市计算AI挑战赛-总奖池30万人民币
  9. java nextbyte()_java.util.Scanner.hasNextByte()方法实例
  10. jquery复选框组清空选中的值_jQuery选取所有复选框被选中的值并用Ajax异步提交数据...
  11. [dhtmlxGantt]Milestone Mark-里程碑标识的交错显示
  12. Linux必备命令 - 常用命令集
  13. 【20保研】四川大学视觉合成图形图像技术国防重点学科实验室2019年全国优秀大学生暑期夏令营招生简章...
  14. 使用百度识图 完成图片识别和文字识别
  15. 电容或电感的电压_Buck知识大总结:模态分析,电感计算,EMI分析等(转)
  16. mitmproxy抓https出现502Bad Gateway. unable to get local issuer certificate的解决方法
  17. c语言求正方体的表面积和体积,2.事先编写一个程序,计算正方体、球体和圆柱体的表面积和体积。(提示:声明一个抽象基类 container,派...
  18. Tikhonov正则化方法在测绘领域的综述
  19. Switch 开关,将字写在滑块上面
  20. Zemax光学设计(十二) —— 激光扫描物镜设计

热门文章

  1. 文件系统的类型和结构 笔记
  2. angular 行内引入背景图片
  3. AECC全球留学趋势报告解读
  4. vcom-qcom手机在windows下的驱动安装
  5. JavaScript截取小数点后2位
  6. 清幽傲竹实现的kbmMWServer数据库联接失败重联(转载红鱼儿)
  7. 数据结构排序算法(一):排序方法分类和各种排序方法的实现
  8. 奉劝9610的你按时吃饭多运动,不要提早去开发生死簿管理系统
  9. 6.服务器安全攻防之MySQL账号扫描及攻击
  10. 小米游戏本win10系统安装office2013提示1935错误