Grails - 插件视图页面问题

时间:2011-01-18 10:19:48

标签: grails grails-plugin

我有一个包含域名,控制器和视图页面的插件。 (使用grails 1.3.6)

我独立运行插件,视图工作正常。网址:http://localhost:8080/sample-plugin/gp/list。我可以查看列表页面。

我将插件安装到主应用程序中,即插件测试。在STS中以run-app身份启动,然后浏览到http://localhost:8080/plugin-test/gp/list。我可以查看列表页面。

我将应用程序捆绑为war即plugin-test.war并部署到tomcat。当我浏览http://localhost:8181/plugin-test/gp/list时出现404错误!我不确定我做错了什么。

我一直试图解决它已经很长一段时间但仍然没有运气。相同的主要应用程序在STS中工作正常,但在tomcat中则不行。

HTTP Status 404 - /plugin-test/WEB-INF/grails-app/views/gp/list.jsp

type Status report

message /plugin-test/WEB-INF/grails-app/views/gp/list.jsp

description The requested resource (/plugin-test/WEB-INF/grails-app/views/gp/list.jsp) is not available.

请帮忙。

谢谢。

Jay Chandran。

2 个答案:

答案 0 :(得分:0)

这听起来令人担忧,因为我花了一段时间搞清楚这个(或非常类似的)问题。我最终提出了这个Grails错误报告:

Plugin layout not found in war when installed from BuildConfig.groovy

您是否使用新的BuidConfig依赖技术安装了该插件? JIRA记录了我的解决方法。

答案 1 :(得分:0)

在遇到同样的问题后分享我的一些经验教训(1.3.7):

  • 仔细检查您的HTML源代码,确保您的模板确实未包含在内。我被收录了,但是我的CSS /图片网址错了(只是在战争中运行)...所以我错误地认为我的模板不在那里。
  • 不要使用ui性能标记来引用静态内容......即使指定了插件属性,也似乎不起作用。
  • 不要将您的布局命名为main.gsp。你肯定会有冲突。
  • 不要在g:resource标记上使用absolute = true。即使您指定dir =“$ {pluginContextPath}”
  • ,这似乎也不会将pluginContextPath附加到绝对URL
  • 不要使用pluginContextPath,因为不再需要它:http://grails.org/doc/latest/guide/single.html#6.3%20Tag%20Libraries(搜索“插件路径”)
  • 在插件布局的g:resource标签中,请确保指定插件属性。将其设置为插件的名称。
  • 将静态图片/ css从插件移动到网络服务器。如果使用您的插件的每个应用程序都有自己的副本,那么当您在应用程序之间进行弹跳时,您的用户将无法从缓存中受益。

请注意,以上所有内容都适用于插件项目中的布局gsp,而不是您的消费应用程序。