Odpovidam si sam (po delsim trapeni Google):
viz.:
http://forum.java.sun.com/thread.jspa?forumID=427&threadID=481177
http://forum.java.sun.com/thread.jspa?threadID=510112&messageID=4283555
Pokud jsem to dobre pochopil, tak situace se ma tak, ze pokud jde o
chybu uvnitr action metody nejakeho jsf managed beanu, je treba ji resit
tam, tj. mit neco jako
public String doMyAction(){
try{
// neco provadim
} catch(MyException ex){
// zpracovavam ocekavany vyjimecny stav
} catch(Exception ex){
return "error";
}
}
a ve faces-config.xml mit direktivu
<navigation-rule>
<navigation-case>
<from-outcome>error</from-outcome>
<to-view-id>/errorpage.faces</to-view-id>
</navigation-case>
</navigation-rule>
Pokud ale dojde k vyhozeni exception uvnitr get/set metody, uvnitr
konstruktoru, atd., je situace otevrena a vypada to ze tvurci
specifikace JSF na to jaksi pozapomneli, ci patricna cast JSF
specifikace je silne nejasna a nikdo tomu nerozumi (diskuze vedou vzdy
do ztracena, tj. neni nabidnuto zadne rozumne obecne fungujici reseni).
Toz tak. Snad je to nekomu napomocne. Jak to resite vy?
Mirek
Mirek Stohr napsal(a):
Vazeni kolegove,
zkusil jsem si na web aplikaci (EJB3, JSF 1.2, glassfish app. server)
jak mi beha errorpage, a vysledkem bylo me prekvapeni, ze mi vubec
nebeha, resp. dostanu defaultni errorpage generovanou serverem. Pri
nastavovani jsem postupoval presne podle
http://wiki.apache.org/myfaces/Handling_Server_Errors, tj.
web.xml:
<error-page>
<error-code>500</error-code>
<location>/errorpage.faces</location>
</error-page>
<error-page>
<exception-type>java.lang.Throwable</exception-type>
<location>/errorpage.faces</location>
</error-page>
errorpage.faces:
<f:view>
<f:verbatim><h1>Interní chyba</h1></f:verbatim>
<f:verbatim>
V systému aplikace došlo k interní chybě. Prosím, upozorněte
mě. Děkuji.
</f:verbatim>
<f:verbatim><h4>Chybové hlášení</h4></f:verbatim>
<h:outputText value="#{errorBean.errorMessage}" />
</f:view>
Kde by mohla byt chyba, resp. jak se pro vyse uvedenou spec. lisi
nastaveni errorpage pro zobrazovani internich chyb aplikace? Doposud
jsem naivne myslel ze nijak. Diky.
Mirek