tomcat - grails 资源标签在链接中创建重复的应用程序上下文

标签 tomcat grails

有时,我们的代码需要为资源创建链接。发生这种情况时,它看起来如下所示:

<link rel="stylesheet" type="text/css" 
href="${resource(dir: '/css/', file: 'UXdashboard-pdf.css') }"
media="all"/>

但是,这会创建一个如下所示的链接(注意重复的应用程序上下文)

<link href="/ici/ici/css/UXdashboard-pdf.css" media="all"

我们没有定义 grails.serverUrl 或 grails.app.context。我们确实在 application.properties 中设置了 app.name='ici'。

我们使用设置了 autodeploy="true"的 tomcat 进行部署,它应该根据 war 文件名创建“ici”的应用程序上下文。

我不确定第二个应用上下文来自哪里。我不应该在 application.properties 中设置 app.name 吗?我可以指定 'base' 参数,但我更愿意在尝试解决它之前准确了解重复上下文的来源。

我们使用 apache 作为我们的前端文档服务器,并且 apache 似乎能够处理这些链接,因为我看到为它们返回了 200 个代码。但是我们有一个可以生成 pdf 的插件,我怀疑它因为链接而找不到 css 文件。

谢谢!

最佳答案

我实际上是在回答我自己的问题,以防其他人遇到这种情况。结果是双/<appcontext>/<appcontext>是由 grails.resources.uri.prefix ="ici"引起的。

我们还使用与 g:resource 标签集成的 Resources 插件。资源插件在形成其 url 时会自动添加一个/static/目录。我们不使用静态子目录,grails.resources.uri.prefix 允许覆盖它。仅仅将它设置为空字符串是行不通的,但是 apache 可以处理 <appcontext>/<appcontext> .所以在pdf生成案例中我需要做的就是重写这个链接。

关于tomcat - grails 资源标签在链接中创建重复的应用程序上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31055092/

相关文章:

grails - 如何从createCriteria中区分列表?

hibernate - 在 Tomcat 服务器中部署的 2 个 J2EE 应用程序之间共享 jsp session

tomcat - 在服务器中放置时启动 .NET 核心 Web 应用程序

java - tomcat:如何追踪连接泄漏?

grails - 获取 paypal rest api grails 的访问 token

grails - 如何在Grails中一次保存所有收藏

grails - 我什么时候需要在 Grails 中使用多个编解码器进行编码?

grails - 使用 Grails 缓存插件时, Controller 操作缓存似乎不起作用

tomcat - 当我们第一次部署一个WAR 文件时,一些代码可以运行吗?

java - 我的 webapp 部署在哪里(从 Eclipse 到 Tomcat 7)