Wie kann ich die PortletException abfangen und behandeln, die von GenericPortlet.doView() ausgelöst wird? Ich möchte eine benutzerdefinierte Fehlerseite oder eine benutzerdefinierte Nachricht im JBoss Portal anzeigen, wenn diese Ausnahme aus irgendeinem Grund ausgelöst wird.
Antwort
Zu viele Anzeigen?Die Portlet 2.0 Spezifikation (JSR 286 - aber ich bezweifle, dass sie die Fehlerbehandlung herausgenommen haben) besagt:
Es bleibt der Portal-/Portlet-Container-Implementierung überlassen, wie sie reagiert, wenn ein Portlet während der Bearbeitung einer Anfrage eine Ausnahme auslöst. Beispielsweise könnte das Portal/der Portlet-Container eine Fehlerseite anstelle der Portalseite anzeigen, eine Fehlermeldung im Portlet-Fenster des Portlets, das die Ausnahme ausgelöst hat, anzeigen oder das Portlet von der Portalseite entfernen und eine Fehlermeldung für den Administrator protokollieren.
JBoss Portal's Fehlerbehandlung scheint nicht das zu bieten, was Sie wollen.
Wahrscheinlich müssen Sie dies selbst in die Hand nehmen, vielleicht indem Sie eine abstrakte Basisklasse definieren, die von anderen Portlets erweitert werden kann.