如何从自定义 mbean 在 ADF 中的错误消息中插入换行符

How to insert newline in error message in ADF from a custom mbean

下面是我的代码片段:

    String message = "Sample Message :\n Hello World";

    FacesMessage facesMsg = new FacesMessage();
    facesMsg.setSeverity(FacesMessage.SEVERITY_ERROR);
    facesMsg.setSummary(message);
    FacesContext.getCurrentInstance().addMessage(
            invokeEvent.getComponent().getClientId(
                    FacesContext.getCurrentInstance()), facesMsg);

期望的输出:

Sample Message :
Hello World

实际输出:

Sample Message : Hello World

在我们的 mbean 中,我们使用完整的 java 编码。请注意,通常在 Java 中,\n 可以作为换行符正常工作。然而,facescontext 并没有意识到这一点。

我正在 OIM (Oracle Identity Manager) 的一部分 ADF 中尝试此操作。 ADF 在这方面非常紧密地结合在一起,并且在我们尝试任何自定义时存在很多限制。因此,使用 CSS 或 JSF/ADF UI 标签可能不可行,如 How do I add HTML code to JSF FacesMessage.

中所建议

为您的消息创建一个完全格式化的 HTML 并将其传递给您的 setSummary() 方法,如下所示。

fm.setSummary("<html><body><p>Helloooo !!</p><p>Sid</p></body></html>");

这会起作用。

-席德

您可以在 FacesMessage 中使用 HTML 来更改文字的线条、颜色和样式 检查- http://www.awasthiashish.com/2014/05/adf-basics-how-to-use-facesmessage-to.html