为什么第一个块中的代码有效而另一个无效?一切都是为了显示 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.
为什么它会这样工作?我应该在登录方法(以及其他方法)上使用验证器或其他东西吗?