Grails插件无法加载位于其自身内的资源

时间:2015-07-09 11:45:01

标签: javascript grails

我有一个主Grails 2.3.2项目MainGrailsApp,我有一个自定义Grails插件MyGrailsPlugin,它基本上是主项目的一个模块。 插件有自己的 .gsp及其自己的.js个文件,同时还引用了.css个文件,.gsp模板和图片来自父Grails项目

我们假设插件中有PageController呈现view(也在插件内)MyGrailsPlugin/grails-app/views/page/index.gsp。在index.gsp内,它要求global.css作为样式表,_main.gsp作为其模板,这些都在MainGrailsApp上找到,而另一方面则使用web-app/js/page.js位于插件中的文件。

现在,当我run-app主项目并转到链接localhost:8080/maingrailsapp/page时,它会显示整个页面,使用指定的.gsp模板呈现,完全加载所有{{1}文件,.css

除外
  

page.js

Failed to load resource: the server responded with a status of 404 (Not Found) http://localhost:8080/maingrailsapp/page.js内部,我使用以下行来引用该资源:

index.gsp

为什么无法加载自己的<script type="text/javascript" src="${resource(dir:'js',file:'page.js')}" />文件?为什么它可以从其父应用程序获取资源但无法调用自己的资源?它是否应该能够找到.js文件,而不仅仅是其个人资源?

1 个答案:

答案 0 :(得分:1)

Grails资源标记具有“plugin”属性,用于指定插件的名称以查找资源。查看grails docs资源标记。