为什么eclipse jsp编辑器无法在sperate scriptlet中解析java块注释?

时间:2015-06-12 07:59:18

标签: java eclipse jsp comments scriptlet

Eclipse JSP编辑器无法在单独的scriptlet中解析Java块注释,例如

<% /* %><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>

1 个答案:

答案 0 :(得分:0)

这是编写不可维护代码的好方法。虽然你有一个观点,它在技术上可能是编辑器工作中的一个错误,但我并不依赖它来可靠地工作:JSP被编译成一个servlet(由里面翻出来),然后编译成字节码。

  • 我认为以这种方式隐藏代码 - 而不是使用<%-- --%> - 故意是邪恶的,这种风格不会通过(我的)代码审查。
  • 没有什么能阻止JSP-&gt; Servlet编译器生成块注释。那么你很容易就会有嵌套的块注释 - 非法代码 - 这在JSP中是不可见的(在你的例子中不会发生,但只要jsp标签在游戏中,就可能就是这样)。

将此行为视为您应考虑以不同方式重写代码并且不依赖JSP-&gt; Servlet编译器始终遵循当前心理模型的提示。它可能会打破一年中未来的编译器更新 - 然后你必须记住你在这里做了什么,为什么你这样做。你不会知道为什么它一直在工作并突然停止。您可能不会将其归因于某人在您背后做的servlet容器的更新。