java - 为什么 eclipse jsp 编辑器无法解析单独 scriptlet 中的 java block 注释?

标签 java eclipse jsp comments scriptlet

Eclipse JSP 编辑器无法解析单独 scriptlet 中的 Java block 注释

<% /* %><span> blabla </span><% */ %>

这是它在 Eclipse 中的样子:

screenshot

实际上,我们知道 /* */ 之间的代码会被注释掉,但是 Eclipse 编辑器将之间的代码显示为普通文本。这完全令人困惑。

我知道应该避免这种情况,但我有大量这样的代码需要阅读。

那么有什么方法可以在这种情况下启用语法高亮吗?

测试用例:

<TABLE>
        <TR><TD>Normal text</TD></TR>
<% /* %><TR><TD>Unparsed comment</TD></TR><% */ %>
<% /*   <TR><TD>Parsed comment</TD></TR>     */ %>
<%--    <TR><TD>Parsed comment</TD></TR>      --%>
</TABLE>

最佳答案

这是编写难以维护的代码的好方法。虽然您认为这在技术上可能是编辑器工作中的一个错误,但我不会依赖它来可靠地工作:JSP 被编译成 servlet(翻过来),然后编译成字节码。

  • 我考虑以这种方式隐藏代码 - 而不是使用 <%-- --%> - 故意作恶,这种风格无法通过(我的)代码审查。
  • 没有什么可以阻止 JSP->Servlet 编译器生成 block 注释。然后你很容易就会有嵌套的 block 注释 - 非法代码 - 这在 JSP 中是不可见的(在你的示例中不会发生,但一旦 jsp 标 checkout 现在游戏中,它很可能会发生)

将此行为视为一个提示,您应该考虑以不同的方式重写代码,并且不要依赖 JSP->Servlet 编译器来始终遵循您当前的思维模型。它也可能会随着一年后的编译器更新而中断 - 然后你必须记住你在这里做了什么,为什么这样做。而且你不知道为什么它一直有效,然后突然停止了。您可能不会将其归因于有人在您背后对 servlet 容器进行的更新。

关于java - 为什么 eclipse jsp 编辑器无法解析单独 scriptlet 中的 java block 注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30798126/

相关文章:

java - 如何在运行JSP页面之前运行Servlet?

java - 如何将随机查询参数添加到操作的成功响应中

java - 接收到 volley 响应后执行该方法

java - Angular 7 如何将 Access-Control-Allow-Origin header 添加到预检发布请求中?

java - 第一个应用程序(developer.android.com)错误,什么问题?

java - Android startActivity() 适用于一个类,但不适用于另一个类

android - 使用 android 模拟器发送和接收文本

java - 什么是 NullPointerException,我该如何解决?

Java 正则表达式错误 - 使用组引用进行向后查找

java - Controller 未在 .jsp 页面上触发 MVC Spring JAVA