【问题标题】:Grails tag not closed only detected when building WAR仅在构建 WAR 时检测到 Grails 标签未关闭
【发布时间】:2013-12-26 19:48:14
【问题描述】:

我忘记在我的一个 GSP 文件中关闭 <g:link> 标记。

应用程序在grails run-app 下完美运行,但是当我尝试执行grails war 时,它说标签没有关闭。

构建与运行应用不同的 WAR 文件时会发生什么?

编辑:

由于 lukelazarovic 的回答,我查看了更多细节,发现未闭合标签来自我的应用程序使用的插件中的布局 GSP。 run-app 命令似乎只编译我的 GSP 文件而不是插件。因此,当您执行grails war 时,布局 GSP 中的编译错误就会暴露出来。

【问题讨论】:

  • 尝试“grails test-app”,它会失败;)这是在创建战争之前执行的
  • 不,test-app 也没有失败,因为 GSP 在应用程序使用的插件中,唯一一次编译似乎是战争一代

标签: grails gsp


【解决方案1】:

当您使用grails run-app 运行应用程序时,GSP 会在您访问它时即时编译。

因此,如果访问带有未封闭标签的 GSP,您会看到错误。

grails war 的情况下,所有 GSP 都必须编译并放入生成的 war 文件中,因此会显示任何阻止编译任何 GSP 的错误。

【讨论】:

  • 我只是在说明显而易见的、干净的、编译的、升级的,然后当我遇到意外行为时,我通常会做战争。
  • 谢谢!这是有道理的,但奇怪的是,出现错误的 GSP 是 main.gsp 布局,应该为每个页面加载它,因此失败,但它没有。
  • 那么页面加载正确了吗?那么 g:link 标签的输出是什么?编辑您的问题并将 main.gsp 中未关闭的 g:link 标记和 HTML 输出都放在那里
  • 在那里,我用我的“最新发现”编辑了它。希望这对任何人都有帮助。
猜你喜欢
  • 2014-03-21
  • 2013-03-11
  • 1970-01-01
  • 2015-06-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
相关资源
最近更新 更多