Grails:404 和延迟初始化

标签 grails

如果您访问一个不存在的页面,并且“抛出”404,并且 Grails 尝试渲染我的自定义 404 错误页面,我会从在错误布局中执行的一些标记库中收到延迟初始化错误.

标签库实际上尝试访问另一个具有多关系的域对象内部的域对象。它能够获取初始对象,但是在访问关系时,它会抛出这个延迟初始化错误。

但是,当正确访问任何其他页面时,不会发生这种情况。即使我尝试直接访问我的自定义错误页面。仅当抛出 404 错误时。

这段时间内休眠 session 是否有什么不同导致了延迟初始化错误?

在 Grails 中,访问标记库中延迟初始化的内容是否可能不是一个好主意?

最佳答案

我以前见过这种情况,我通常的解决方案是将查询移至 Controller 。我相信这是因为 Controller 和 GSP session 不是一个且相同的事实 - 因此,最好在 Controller 内进行大多数数据库读取。

在这种情况下,没有 Controller 。

至于解决这个问题的技巧......

我想知道你是否不能 start a session/end a session在您的 GSP 和/或 taglib 中暂时强制执行该行为。另一个想法是在访问原始(父)对象的同时强制读取关系 - 这将初始化惰性关系。

关于Grails:404 和延迟初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4728758/

相关文章:

grails - 如何清除apache shiro session ?

grails - UrlMapping导致方法不呈现与默认 View 不同的 View

grails - grails 中的编码和解码如何使用grails 中的decodeHTML 和encodeAsHTML 进行?

grails - Grails 中的捕获所有异常处理程序

hibernate - 如何在Grails中使用自定义 validator 正确检查字段唯一性?

grails - Grails Layout,该怎么做?

grails - grails范围问题-页面,请求,flash

grails - Grails呈现空白页

sql - Grails&GORM:如何在域类上指定等效的CREATE INDEX?

spring - 升级到grails 3后,grails数据库迁移插件问题