13

我的公司在我们的 JSP 中使用自定义标签来包装 JavaScript。我无法让 IntelliJ 将这些标签的内容视为 JavaScript。这是一个简单的示例,说明我们的标签是什么样子的。

<ui:script>
  //Include javascript here...
  alert('Any code in here is treated as JavaScript');
</ui:script>

有什么建议么?我尝试使用语言注入,但找不到正确的设置。

我刚刚注意到这个问题更多地与在<ui:script>标签中使用 JSP 特定语言有关。一个更糟糕的例子(注意 ${selectedReportID} 破坏一切的标签):

<ui:script>
    new Kamino.DependencyLoader({
        source: [
            '/static/js/modules/folders/Report.js'
        ],

        onSuccess: function () {
            new Kamino.Report({
                id: '${selectedReportID}',
                element: 'content-reporting-report-list'
            });
        }
    }).load();
</ui:script>
4

1 回答 1

13

这就是 IntelliJ IDEA 12 中对我有用的方法。

这是带有自定义标记 ( aui:script) 的 JSP 片段,它呈现了一些 javascript 代码:

前

如您所见,它是纯文本,即 alt+enter 不提供任何建议等。

这是我在语言注入设置中添加的XML 标记注入

环境

请务必选择正确的命名空间。在此之后,相同的代码看起来像这样(打开文件后预计会有一些小的延迟):

后

它的颜色不同,如您所见,标签之间的aui:script代码知道 javascript 上下文、可用的建议等。

如果这对你有用,请尝试,我没有像我想要的那样使用它:)

于 2013-01-09T19:40:12.287 回答