Grails资源标记生成错误的链接

时间:2015-06-03 11:35:55

标签: javascript css grails resources

我正在开发一个项目,其中不同的模块分为不同的自定义创建插件。例如 -

  • AccountingPlugin
  • UiPlugin
  • 等...

所以就像现在我在UiPlugin中有所有UI相关的东西,我正在使用Accounting插件,我只有这个插件中的所有域的控制器,服务和视图。

我正在使用Resource tag从UI插件中获取所有CSS和JS,并且必须在Accounting插件中使用它,如 -

<link rel="stylesheet" type="text/css" href="${resource(dir: 'assets/css', file: "datepicker.css")}"/>

生成http://localhost:8080/PROJECT_NAME/plugins/accountancy-plugin-0.1/assets/css/datepicker.css

但该文件位于 - http://localhost:8080/PROJECT_NAME/plugins/ui-plugin-0.1/assets/css/datepicker.css

所以问题在于它正在寻找自己的资源。如何使此资源标记在资源的单独(UI)插件中查找资源?

请注意:业务逻辑已与UI分离,因此我们有多个插件和一个单独的UI插件,所有插件都使用它来获取UI和主题。所以他们不能在同一个插件中。

1 个答案:

答案 0 :(得分:2)

使用上下文路径提供插件路径,并使用absolute:"true"以便URL从项目名称开始。

实施例 -

${resource(dir: 'assets/css', file: "datepicker.css", contextPath :"plugins/ui-plugin-0.1", absolute:"true" )}

<link rel="stylesheet" type="text/css" href="${resource(dir: 'assets/css', file: "datepicker.css", contextPath :"plugins/ui-plugin-0.1", absolute:"true" )}"/>