jsp - 如何在 JSP 的自定义标记中使用 IntelliJ 语言注入(inject)

标签 jsp intellij-idea

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

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

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

我刚刚注意到这个问题更多地与在 <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>

最佳答案

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

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

before

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

这里是 XML 标签注入(inject) 我添加了 语言注入(inject)设置 :

setting

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

after

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

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

关于jsp - 如何在 JSP 的自定义标记中使用 IntelliJ 语言注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11544672/

相关文章:

intellij-idea - Intellij 上不提供 TTF 字体

java - 未考虑执行中的 jsonschema2pojo maven 插件配置

intellij-idea - Intellij 重构,禁用/自定义生成 "@org.jetbrains.annotations.NotNull"

java - 使用 JSTL 设置请求属性

javascript - 如何关闭带有链接或按钮等的html页面?

java - 在 JSP 中使用多个结果集

java - 需要用Android Studio删除缓存

javascript - 使用什么事件来在选择文本框中的值时显示警报消息

java - 第一次加载时 session 属性为空

java - 如何在 intellij 中更改文件的只读状态