jsp注释<%-- -- %> 和 <!-- --> 的区别

最近在写jsp页面注释的时候,遇到一个问题,在jsp页面引用的静态属性资源文件时,在浏览器控制台报错,当我把

引用的标签注释掉后,用的是<!---->。然后浏览器仍然报了之前那个的错,当经过查询以后,jsp页面注释代码推荐用

<%----%>进行注释,两者的区别在于:

       用<!---->注释jsp代码只能在客户端进行注释,其在加载的时候,仍然会经过服务器端进行加载解析,当加载解析不到的

时候,就会在浏览器控制台进行报错,且注释掉的代码,在浏览器控制台可以看见。而用<%----%>进行注释的时候,

会在服务端也进行注释,在解析的时候会解析不到,而注释掉的代码,在浏览器控制台也是不可见的。

例:<%-- ${1+1}--%>,这个经过解析加载之后,不会发生变化。
而用<!-- ${1+1}-->,这个进过加载和解析之后,会被解析为<!--2-->
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
如果还有`/* */`和`<%-- --%>`这样的多行注释,可以使用一个标志变量来判断当前是否在注释中,如果在注释中,则跳过当前行,否则再进行空格和单行注释的过滤。 以下是示例代码: ```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`时才进行过滤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值