繁体   English   中英

在具有重定向结果的操作方法中进行设置时,不显示FacesMessage

[英]FacesMessage is not displayed when being set in an action method with a redirect outcome

为什么第一个块中的代码有效而另一个块不起作用? 全部显示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.

为什么这样工作? 我可以在登录方法上使用验证器或其他工具吗?

您需要在jsf页面中包含h:messages标记。 例如,

<h:messages id="messagesID" globalOnly="true" layout="table" />

如果您的JSF页面中没有此内容,则会出现警告消息。

来自第二个代码块的消息未显示,因为方法没有无效签名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM