【问题标题】:Error message doesn't stay on view page using JSF错误消息不会停留在使用 JSF 的视图页面上
【发布时间】:2017-10-24 08:13:04
【问题描述】:

我正在尝试从后台 bean 类发送一条错误消息以查看,但它显示了一秒钟然后就消失了。我不知道原因,请让我知道我做错了什么。 对于范围,我使用的是 ManagedBean 和 RequestScoped

String msg = "Without 'Sample Id/Experiment Id' Keys file cannot proceed";
FacesContext.getCurrentInstance().addMessage(null,new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, ""));

在我看来,我正在尝试解决这些错误和这些容器

<rich:messages globalOnly="true" />
<rich:messages for="gv" />

它会显示这些消息,但不会停留在那里并消失。提前谢谢你

【问题讨论】:

    标签: java jsf richfaces


    【解决方案1】:

    JSF 消息的生命周期基本上是 single request(但您可以通过 Flash Scope in JSF2 扩展它),因此在请求完成后消失。

    rich:message 组件默认自动更新(即ajaxRendered)。因此,您很可能有一些 AJAX 请求,该请求在消息显示在您的页面上后立即触发。由于消息的请求范围,新请求中没有更多消息可用,rich:messages 再次更新为空内容。

    您可以通过使用您的浏览器开发者工具或Firebug 来查看您的网络流量来验证这一点。

    【讨论】:

    • 我正试图从后面的 bean 类返回相同的视图。之后就没有ajax调用了。
    • @GulzaibAmjed 您写道,“它会显示消息,但不会停留在那里并消失”,所以一定有什么事情会触发这种消失。我的猜测是消息的 AJAX 更新。如果没有这样的 AJAX 更新,它必须在客户端,即在您的浏览器中。您是否在页面的源代码中看到该消息(右键单击 -> 查看源代码)?
    • 问题已解决 你说得对,有一个 ajax 调用。你给了我一个明确的暗示。太好了!
    • 如果我的回答有用,请考虑接受或点赞。谢谢。
    猜你喜欢
    • 2012-06-17
    • 1970-01-01
    • 2012-01-31
    • 2020-02-18
    • 1970-01-01
    • 2016-06-19
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多