重定向到错误页面不适用于打开的对话框
Redirect to error page doesn't work with open dialog
我点击
<p:commandButton oncomplete="PF('dlg1').show()" />
<p:dialog widgetVar="dlg1">
<p:inputText id="dogName" value="#{mngBean.dogName}" />
</p:dialog>
MngBean在getDogName()
方法中抛出异常。 PrimeExceptionHandler 捕获它并重定向到错误页面,但客户端没有任何反应。重定向不起作用,并且没有 ajax 响应发送回客户端。
异常处理程序在所有其他情况下都能正常工作,但对话框打开时除外。
我不知道如何处理对话框渲染阶段抛出的异常。
Primefaces 发现了这种情况,即在渲染对话框的部分响应期间抛出异常。在这种情况下,部分响应编写器以格式错误的 XML 结束,并且对话框因内容无效而在屏幕上挂起。
我想出的唯一解决方案是 owerride PrimeExceptionHandler
及其 handleRedirect
方法,我在其中添加了
PartialResponseWriter writer = context.getPartialViewContext().getPartialResponseWriter();
writer.startElement( "script", null );
writer.write( "window.location.href = '" + writer.write("window.location.href = '" + context.getExternalContext().getRequestContextPath() + errorPage + "?message=" + info.getMessage() + "';" );
writer.endElement( "script" );
writer.getWrapped().endCDATA();
writer.endElement( "update" );
writer.getWrapped().endDocument();
通过这种方式,我添加了在格式错误的对话框出现后执行的脚本,这会将其重定向到错误页面。
我点击
<p:commandButton oncomplete="PF('dlg1').show()" />
<p:dialog widgetVar="dlg1">
<p:inputText id="dogName" value="#{mngBean.dogName}" />
</p:dialog>
MngBean在getDogName()
方法中抛出异常。 PrimeExceptionHandler 捕获它并重定向到错误页面,但客户端没有任何反应。重定向不起作用,并且没有 ajax 响应发送回客户端。
异常处理程序在所有其他情况下都能正常工作,但对话框打开时除外。
我不知道如何处理对话框渲染阶段抛出的异常。
Primefaces 发现了这种情况,即在渲染对话框的部分响应期间抛出异常。在这种情况下,部分响应编写器以格式错误的 XML 结束,并且对话框因内容无效而在屏幕上挂起。
我想出的唯一解决方案是 owerride PrimeExceptionHandler
及其 handleRedirect
方法,我在其中添加了
PartialResponseWriter writer = context.getPartialViewContext().getPartialResponseWriter();
writer.startElement( "script", null );
writer.write( "window.location.href = '" + writer.write("window.location.href = '" + context.getExternalContext().getRequestContextPath() + errorPage + "?message=" + info.getMessage() + "';" );
writer.endElement( "script" );
writer.getWrapped().endCDATA();
writer.endElement( "update" );
writer.getWrapped().endDocument();
通过这种方式,我添加了在格式错误的对话框出现后执行的脚本,这会将其重定向到错误页面。