0

我的项目一直使用 grails 2.0.1,我的控制器将它们的操作定义为方法而不是闭包。以前这些操作一直有效(即浏览器可以首先通过控制器中的操作方法呈现正确的 gsp 页面)。

最近我们注意到定制操作不再起作用,浏览器报告“404 资源未找到”。我们仍在使用 grails 2.0.1,这可以通过运行的每个 grails 命令中的“加载 grails 2.0.1”注释来确认。尽管有一些控制器/域/服务更改,但这些更改都不会影响操作方法的使用。据我所知,我们没有降级 grails/groovy 的版本。

如果我将操作更改为定义为闭包,那么它可以正常工作。但我对此并不满意,因为我的解决方案是方法是首选方式,而且它曾经有效。

我已经尝试过解决 grails 怪异的常用方法:适当的清理和重建,但没有任何乐趣。此外,这在 eclipse 和 unix envs 中都是一个问题(项目作为由 grails 命令运行的战争交付),因此它必须是项目文件中的某些内容,但我无法发现任何已更改的内容。

有什么建议我的项目可能发生了什么以及如何解决?

4

1 回答 1

0

我终于将我的问题追踪到我用来监控长时间运行的方法调用的一个方面。我已将切入点更改为包含“within(com.mydomain.domain..*)”,这是我的 Controller 类所在的位置。这似乎阻止了我的定制链接工作,不知道为什么。我不是故意的,我只是想让我的切入点包含所有域类方法,但我很乐意牺牲它以使控制器方法操作再次起作用。

我已经通过修改我的切入点解决了这个问题。

于 2013-03-18T12:10:52.750 回答