当响应已经部分提交时,不可能更改标题来指示存在某些致命错误,也不可能显示格式良好的错误消息(很难检测需要执行哪些步骤来修复标记以为消息创建一些空间)。是否应该有一些javascript将页面重定向到一些好看的错误报告或创建一些覆盖?页面是否应该完全生成到缓冲区并在完全成功呈现后才发送?还是有其他合适的策略?这是一个适用于所有web技术的普遍问题,但我对JSF、Facelets、Webflow软件栈的解决方案特别感兴趣。
我认为在每种情况下都不可能做出正确的反应,因为你不知道你在html输出的哪个位置。您甚至可能根本不知道您是否在html文档中,这取决于应用程序。
视图呈现过程中的异常应该是致命且罕见的。输出缓冲可以解决这个问题,但不可取。
您可以尝试在输出中嵌入一些javascript代码,也许是为了重定向,但原始页面也可能是重定向的。最好是发出js代码来打开一个弹出窗口或其他窗口,显示一个静态html页面,解释致命错误并建议用户。