Mostrar el error dentro de la página JSF y continuar renderizándolo en lugar de redirigir a una página de error separada

Siempre que haya un error durante la carga de una faceta JSF, JSF deja de mostrar la página en el punto del error y muestra la página de error en su lugar (comportamiento predeterminado). Quiero que JSF continúe representando una página y muestre la excepción / error dentro de la página. Por ejemplo, si la página está cargando un "portlet", que arroja una excepción, esa excepción se mostrará como texto dentro del portlet. No quiero que toda la página se envíe a una página de error separada.

Inicialicé las mías ExceptionHandlerFactoryy las ExceptionHandlerimplementaciones y puedo repetirlas con ExceptionQueueEventséxito. Sin embargo, no sé cómo indicarle a JSF que continúe cargando la página a pesar del error. ¿Es este el enfoque correcto? ¿Se llama ExceptionHandler después (como supongo) o en el medio procesa la facelet? Si después, ¿hay algo que pueda hacer dentro de mi ExceptionHandler?

Sé que debería:

  • Ocultar las partes a las que el usuario no puede acceder (mi caso específico se relaciona con la seguridad, cuando el usuario intenta cargar contenido para el que no tiene derechos. Sin embargo, estoy buscando una respuesta global a esto)
  • Maneje manualmente los errores para que no se generen excepciones inesperadas

Sin embargo, quiero que el usuario pueda continuar usando el sistema a pesar de alguna falla menor en los componentes (por ejemplo, si algún portlet de suministro de noticias arroja un error que no debería evitar que el usuario vea otro contenido y lo use).

Estoy usando Mojarra 2.0.2. Siento que esto es muy simple de resolver, pero no puedo resolverlo :(

Respuesta 1

Hacerlo significaría que le está dando al usuario final una página HTML a medio cocer (porque JSF no ha completado (y no puede) la representación HTML) y no se especifica cómo el navegador web mostrará la página.

No lo hagas

Respuesta: 2

Tengo una cadena phahahahoto y necesito encontrar cuántas veces aparece la cadena jaja en la cadena anterior. Si te fijas bien, aparece 2 veces. Mi código está debajo y obtengo la salida 1 en lugar de 2. ...

Estoy tratando de enviar mensajes (conjuntos de bytes) desde Node.js a Java a través del socket TCP (serializado con protobuf). Creo un socket de servidor en el lado de Java, y me conecto desde Node: var client = net ....

Estoy tratando de implementar el algoritmo de Peterson en Java, y he creado lo siguiente por el momento clase pública Peterson {private volatile boolean [] flag = new boolean [2]; volátil privado ...

Estoy copiando mi archivo ROOT.war en aplicaciones web de Tomcat 6.0. ¿Hay alguna manera de explotar el archivo al copiarlo? es decir, cuando mi script lo copia en las aplicaciones web ... ¿debería explotar y crear el directorio ROOT? ...