Tro*_*roy 6 grails resources plugins
我有一个Grails插件,我使用它作为一些共享静态资源的容器,将由内部的各种其他Grails项目(CSS,JS文件等)使用.使用插件的想法只是为了分享这些东西 - 插件并没有真正做任何其他非常有趣的事情.直接引用插件内资源的最佳方法是什么?我宁愿不创建自定义标记库,因为我实际上并没有在这里添加任何功能; 我只想访问插件中的资源 - 例如,从GSP引用CSS文件:
<g:link rel="stylesheet" url="${resource(dir:'css', file:'mycss.css',
plugin:'myplugin')}"/>
Run Code Online (Sandbox Code Playgroud)
这个想法是否违反了插件的概念,其中只有某些方面应该暴露,其余的是黑盒子?在相关的Grails项目之间共享静态资源的替代方法也是受欢迎的,以防我试图通过这种方式走向疯狂,错误的道路.:)
首先,在 Grails 中,插件不被视为黑匣子。相反,所有的代码都是暴露的;如果你真的想让它成为一个黑匣子,那么你应该使用另一个插件, Binary Artifacts。
\n\n其次,你的做法非常明智。为了访问插件资源,我会创建一个标签库,例如:
\n\ndef res = { attrs -> \n attrs.dir=pluginContextPath\n //Do whatever you want here\n out << g.resource(attrs) \n}\n
Run Code Online (Sandbox Code Playgroud)\n\n并以与 相同的方式调用它<g:resource>
。这样,您甚至不必公开您的插件 xe2x80x99s 资源路径。敏捷插件使用这种方法。
您还可以看看Grails 资源插件,它试图解决 Grails 插件和项目之间静态资源依赖关系的噩梦。我从未使用过它,但在我的下一个 Grails 项目中,我肯定会集成它(顺便说一句,它将包含在 Grails 1.4 中)。
\n 归档时间: |
|
查看次数: |
3579 次 |
最近记录: |