0

jsf 2.2 プロジェクトに独自の ExceptionHandler を追加しました。web.xml

<factory>
    <exception-handler-factory>package.exceptionhandler.MyExceptionHandlerFactory</exception-handler-factory>
</factory>

exceptionHandlerFactory には以下が含まれます

public ExceptionHandler getExceptionHandler() {
    ExceptionHandler handler = new MyExceptionHandler(parent.getExceptionHandler());
    return handler;
}

および ExceptionHandler には次が含まれます

 @Override
    public void handle() throws FacesException {
        LOGGER.debug("handle exception...");
    }

私のダミーのコンバーターは毎回例外をスローします:

@FacesConverter(value = "MyConverter")
public class MyConverter implements Converter {

@Override
public Object getAsObject(final FacesContext context, final UIComponent comp, final String value) {
    throw new RuntimeException("error");
}
//...

しかし、例外は私自身の例外ハンドラーによって処理されません。なんで?

4

1 に答える 1

0

問題が見つかりました。

それはjsfの問題ではありませんでした。アプリケーションに PhaseListener があり、ページに表示されるエラー メッセージの一部のみが表示されます。しかし、この PhaseListener は INVOKE_APPLICATION フェーズにあったため、実行されませんでした。

于 2013-10-31T12:18:38.513 に答える