为什么第一个区块的代码有效,而另一个区块的代码不起作用?这完全是关于显示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.
为什么会这样?我应该在登录方法上使用验证器或其他东西(还有其他的)?
答案 0 :(得分:1)
您需要在jsf页面中包含h:messages标记。例如,
<h:messages id="messagesID" globalOnly="true" layout="table" />
如果您的JSF页面中没有此项,则会出现警告消息。
答案 1 :(得分:1)
未显示第二个代码块的消息,因为方法没有空符号。