JSP注释分类 <%-- <!--

1> 显示注释(HTML 注释)
     <!-- 显式注释 [ <%= 表达式 %> ] -->
     在显式注释中,注释部分可以使用表达式,因为显式注释会被JSP引擎解释; 在客户端 
     HTML文件的源代码中生成同样的注释信息,但不会在HTML页面上显示
      如: <!-- 本文件的加载日期 <%= (new.java.util.Date()).toLocalString() %> -->
     在客户端HTML文件的源代码中生成如下注释:

          <!-- 本文件的加载日期 July 06,2007 -->

说明:能在客户端显示的一个注释,标记内的所有JSP脚本元素、指令和动作正常执行,也就是说编译器会扫描注释内的代码行。  

描述:

可以在注释中使用任何有效的JSP表达式。表达式是动态的,当用户第一次调用该页面或该页面后来被重新调用时,该表达式将被赋值。JSP引擎对HTML注释中的表达式执行完后,其执行的结果将直接插入到表达式显示的地方。然后该结果和HTML注释中的其它内容一起输出到客户端。在客户端可通过查看源文件的方法看到该注释。  


  2> 隐式注释(JSP注释)
     <%-- JSP 隐式注释 --%>
     隐式注释和显式注释一样不能在JSP页面显示, 但是隐式注释不能在客户端HTML文件的

     源代码中生成同样的注释信息,也不能使用表达式;

说明:用隐藏注释标记的字符会在JSP编译时被忽略掉,标记内的所有JSP脚本元素、指令和动作都将不起作用。 JSP编译器不是会对注释符之间的语句进行编译的,它不会显示在客户的浏览器中。

描述:

JSP引擎对JSP注释不作任何处理。JSP注释既不发送到客户端,也不在客户端的JSP页面中显示。在客户端查看源文件时也看不到。因此,如果你想在JSP页面源程序中写文档说明时,JSP注释是很有用的。

注意:在JSP注释中,不能使用--%﹥,但是如果你一定要使用的话,可以通过使用--%\﹥来避开。


scriptlet
  <% java 代码 %>

  在 JSP Scriptlet 里可直接嵌入任何有效的java语言代码。可以在 scriptlet 内部可以使用java注释 //、/* .... */、/** .... */


声明
  <%! 声明 %>

  在声明部分可以声明变量和方法,它们只当前JSP页面有效。


表达式
  <%=  %>     

  在<%=和%>之间的表达式会被转化为字符串并显示在网页上。


指令
  <%@ 指令名 属性=“值” %>

  JSP指令用于设置和整个JSP页面相关的属性,如页面的编码方法、包含文件以及是否为错误页面等。


脚本段

在JSP页面脚本语言中,包含一段有效的代码片段。

JSP注释语法:﹤% 代码段 %﹥

例1:

 
 
  1. ﹤%=java.lang.Math.random()%﹥  
  2. ﹤%  
  3. for(int i=0;i﹤8;i++)  
  4. { out.println(i); }  
  5. %﹥  
  6. ﹤%    
  7. long n=6666;  
  8. application.setAttribute("maxNumber",Long.toString(n));  
  9. out.println(application.getAttribute("maxNumber"));  
  10. %﹥  

描述:

在脚本段能声明多个变量和方法。能使用任何有效的表达式。能使用任何JSP隐含的对象或任何用﹤jsp:useBean﹥标签声明的对象。能使用页面语言中任何有效的语句,如果使用Java语言,必须符合JAVA语言程序规范。

说明:假如脚本段有输出语句,则输出内容被存储在out对象中,通过out对象输出到JSP页面中。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果还有`/* */`和`<%-- --%>`这样的多行注释,可以使用一个标志变量来判断当前是否在注释中,如果在注释中,则跳过当前行,否则再进行空格和单行注释的过滤。 以下是示例代码: ```java import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.IOException; public class ReadFile { public static void main(String[] args) { try { File file = new File("your_file_path.txt"); BufferedReader br = new BufferedReader(new FileReader(file)); String line; boolean inComment = false; // 是否在注释中 while ((line = br.readLine()) != null) { // 过滤空格和单行注释 if (!inComment && !line.trim().startsWith("//") && !line.trim().equals("")) { System.out.println(line); } // 处理多行注释 if (line.contains("/*")) { if (!line.contains("*/")) { inComment = true; } } if (line.contains("*/")) { if (!line.contains("/*")) { inComment = false; } } // 处理JSP注释 if (line.contains("<%--")) { if (!line.contains("--%>")) { inComment = true; } } if (line.contains("--%>")) { if (!line.contains("<%--")) { inComment = false; } } } br.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在代码中,如果发现`/*`或`<%--`开头的多行注释,则将标志变量`inComment`设为`true`,并跳过当前行。如果发现`*/`或`--%>`结束的多行注释,则将标志变量`inComment`设为`false`,表示当前已经不在注释中。在处理单行注释时,只有当`inComment`为`false`时才进行过滤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值