response.sendError(404) 在 grails 中创建空页面
Posted
技术标签:
【中文标题】response.sendError(404) 在 grails 中创建空页面【英文标题】:response.sendError(404) creates empty page in grails 【发布时间】:2017-07-30 11:09:17 【问题描述】:在少数控制器/动作的 grails 应用程序中,response.sendError(404) 正在正确呈现映射页面(在 UrlMappings.groovy 中映射的 404 页面)。但对于某些操作,它显示空白页面。
我尝试查看日志,发现如下错误: o.s.boot.web.support.ErrorPageFilter - 由于响应已提交,因此无法转发到请求的错误页面 [/guitar/adfsalf]。因此,响应可能具有错误的状态代码。如果您的应用程序在 WebSphere Application Server 上运行,您可以通过将 com.ibm.ws.webcontainer.invokeFlushAfterService 设置为 false 来解决此问题。
您能帮我找到根本原因和更好的解决方案吗?
谢谢,
【问题讨论】:
你使用的是什么版本的 Grails? 嗨,Joe,我们使用的是 grails 3.2.3。 您能发布您的 URL 映射吗? "404"(view:'/dummy/notFound') ***.com/questions/1429388/… 【参考方案1】:改为render(status: 404)
【讨论】:
【参考方案2】:渲染状态:404,查看:'/errors/notFound' 返回; 上面的代码对我有用。但我想知道为什么 response.sendError(404) 每次都不起作用。
【讨论】:
以上是关于response.sendError(404) 在 grails 中创建空页面的主要内容,如果未能解决你的问题,请参考以下文章
从 servlet java 抛出的自定义 503 错误页面
如何在 Django 的自定义 404 错误模板中显示传递给 Http404 的消息?