Grails 3如何从app root

时间:2018-05-30 04:07:25

标签: grails

我有一个在http://localhost:8092

上运行的Grails应用

不同的浏览器会在根路径(http://localhost:8092/)中查找某些文件,例如:favicon.ico,browserconfig.xml(在Windows上查找ms磁贴),site.webmanifest(查找图标+应用名称)在将Web应用程序添加到主屏幕时使用的Android上,safari-pinned-tab.svg(用于Safari),favicon-32x32.png / favicon-16x16.png(用于替代大小的favicons)等。

我能做的工作是favicon.ico,将它添加到grails-app / assets / images并使用GSP中的资产管道:

但其余部分不起作用。此外,site.webmanifest和browserconfig.xml文件还包含指向某些图像的路径,这些图像分别用作Android图标或Windows图块。我可以将这些路径更改为/ assets / ...但这些文件应该在Grails应用程序根目录下可用。

查看文档并尝试在线查找示例,但无法为Grails 3找到任何内容。

如何配置Grails以允许从应用程序的根路径访问这些文件?

BTW我正在使用Grails 3.2.9

2 个答案:

答案 0 :(得分:0)

将所有这些内容放在src / main / resources / public

https://gsp.grails.org/latest/guide/resources.html

答案 1 :(得分:0)

基于the release notes

  

为了解决有关如何处理POST请求的问题   REST应用程序位于不存在的资源上,位于静态资源上   src / main / resources / public中的内容现在在/ static / ** URI下解析   默认情况下,而不是基本URI / **。如果您想还原   先前的行为添加以下配置:

grails.resources.pattern = '/**'

这也解决了以下问题(即使对于rest-api个人资料应用也是如此):

  

WARN org.springframework.web.servlet.PageNotFound-在名称为'grailsDispatcherServlet'的DispatcherServlet中找不到URI [/favicon.ico]的HTTP请求的映射