【问题标题】:How to display a JSF success message如何显示 JSF 成功消息
【发布时间】:2011-08-07 11:17:19
【问题描述】:

我想知道当 h:form 中提交的数据有效时,如何在 JSF 页面上添加“成功”消息。例如“记录成功插入”。我尝试使用 FacesContext.addMessage(String clientId, String message),但该消息显示在同一个 h:messages 框中,该框在无效数据的情况下显示错误消息,导致文本为红色。我不想使用 JavaScript 警报。

任何帮助将不胜感激。

【问题讨论】:

    标签: validation jsf


    【解决方案1】:

    使用 null 作为客户端 ID 使其成为全局消息,并在视图中使用以下内容仅显示全局消息:

    <h:messages globalOnly="true" />
    

    只需将其放在表单下方或上方的某个位置,具体取决于功能要求。如果您已经使用&lt;h:messages/&gt; 来显示验证错误,而不是为每个输入元素使用&lt;h:message/&gt;,那么您需要在此设置globalOnly="false"

    【讨论】:

    • 感谢您的快速回复。您的解决方案似乎不起作用。成功消息显示在两个 h:messages 框中。我的代码看起来像
      ...
    • 只需在另一个上设置globalOnly="false" :) 查看答案更新。
    • 不幸的是我仍然收到两次消息,视图如下:
      ...
      代码: public String AddJongere() { jDao.insertJongere(currentJongere); ContextProvider.getFacesContext().addMessage(null, new FacesMessage("Jongere succesvol ingeschreven","Succesvol"));返回空值; } 我做错了什么?
    【解决方案2】:

    使用不同的样式类

    h:messages  infoStyle="color:darkgreen" errorStyle="color:darkred"  
    

    添加消息时 为了成功

    FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_INFO, message, null);
    

    失败

    FacesMessage facesMessage = new FacesMessage(FacesMessage.SEVERITY_ERROR, message,      null);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多