如何在Apache Sling的页面HTML中包含JS

时间:2018-04-19 20:33:17

标签: apache apache-felix sling bundles

在Apache Sling中,我希望在HTML页面中包含一个javascript。 通过http://localhost:8080/bin/browser.html/我创建了两个节点(然后手动):html.html和processing.js html.html的JSON是:

{
  "jcr:created": "{Date}2018-04-19 20:50:09",
  "jcr:createdBy": "admin",
  "jcr:primaryType": "{Name}nt:file",
  "jcr:content": {
    "jcr:data": "/bin/cpm/nodes/property.bin/apps/res/html.html/_jcr_content?name=jcr%3Adata",
    "jcr:lastModified": "{Date}2018-04-19 20:50:09",
    "jcr:lastModifiedBy": "admin",
    "jcr:mimeType": "text/html",
    "jcr:primaryType": "{Name}nt:resource",
    "jcr:uuid": "ed3121b3-580c-46b2-acc6-7029cdb6f1c3"
  }
}

processing.js的JSON是:

{
  "jcr:data": "/bin/cpm/nodes/property.bin/apps/res/processing.js?name=jcr%3Adata",
  "jcr:lastModified": "{Date}2018-04-19 21:32:40",
  "jcr:lastModifiedBy": "admin",
  "jcr:mimeType": "text/javascript",
  "jcr:primaryType": "{Name}nt:resource",
  "jcr:uuid": "74fd137a-3b37-4893-b443-bd086a4fb4d7"
}

在页面HTML中,我包含了带有< script>的processing.js。 < head>中的标记标签看起来如下:

<head>
    <script type="text/javascript" src="processing.js"></script>
</head>

两个节点都位于同一条路径上,即“apps”。

我在Mozilla Firefox的控制台中出错:

Error Mozilla Firefox http://i68.tinypic.com/a0cj88.png

在error.log文件中我收到此错误:

19.04.2018 22:13:32.813 *INFO* [0:0:0:0:0:0:0:1 [1524168812811] GET /apps/processing.js HTTP/1.1] org.apache.sling.engine.impl.SlingRequestProcessorImpl service: Resource /apps/processing.js not found

为什么我收到此错误?我该如何解决? 请帮我。非常感谢你。

1 个答案:

答案 0 :(得分:1)

尝试将资源路径添加到文件的src中。

<script type="text/javascript" src="${resource.path}/processing.js"></script>

应该解决问题