1

最初のブロックのコードが機能し、他のブロックが機能しないのはなぜですか? JSFメッセージを表示することがすべてです

@PostConstruct
public void init() {
    try {
        throw new RuntimeException();
    } catch (RuntimeException e) {
        i18nExceptionHandler.handleException(e);
    }
}

上記のコードはうまく機能します - メッセージを表示します。

public String login() {
    try {
       //login actions
    } catch (AuthenticationException e) {
      //this doesn't work
        i18nExceptionHandler.handleException(e);
    }
    return "/pages/loggedin?faces-redirect=true";
}

このコードは機能しません。メッセージは表示されず、次のエラーが表示されます。

WARNING: There are some unhandled FacesMessages, this means not every FacesMessage had a chance to be rendered.

なぜそのように機能するのですか?ログインメソッドでバリデーターなどを使用する必要がありますか (およびその他のメソッドも同様です)。

4

2 に答える 2

0

メソッドが void シグネチャを取得していないため、2 番目のコード ブロックからのメッセージは表示されませんでした。

于 2013-11-02T17:02:22.617 に答える