gpt4 book ai didi

jsf - 如何在通过 OmniFaces Messages#add 添加的人脸消息中显示撇号

转载 作者:行者123 更新时间:2023-12-01 00:38:11 24 4
gpt4 key购买 nike

我正在使用 p:messages用于显示错误,primefaces 中没有 UI XHTML页。
我想像员工一样显示字符串。当我尝试使用 OmniFaces 时 Messages实用程序,它没有显示。有关更多详细信息,请查看下面的代码。

XHTML:

<p:messages id="globalMessages" autoUpdate="false" closable="true"
escape="true" showDetail="true"/>

bean 角,扁 bean :
Messages.add(FacesMessage.SEVERITY_ERROR, "global", "employee's");

介绍:

enter image description here

当我使用普通 FacesContext#addMessage() 时它有效:
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_INFO, "Info", "PrimeFaces Rocks employ's"));

介绍:

enter image description here

但我必须使用 Messages.add(FacesMessage.SEVERITY_ERROR, "global", "employee's");
这是如何引起的,如何在消息中显示单引号?

最佳答案

javadoc 中所述,OmniFaces 的默认解析器 Messages用途 MessageFormat用于格式化消息的 API,与 <h:outputFormat> 完全一样和资源包工作。

MessageFormat API , 单引号是一个特殊字符,如果您想按原样表示它,则需要使用另一个字符进行转义。

Messages.add(FacesMessage.SEVERITY_ERROR, "global", "employee''s");

另一种方法是使用 curl 引号。
Messages.add(FacesMessage.SEVERITY_ERROR, "global", "employee’s");

或者注册一个不处理消息的自定义消息解析器。
Messages.setResolver(new Messages.Resolver() {
public String getMessage(String message, Object... params) {
return message;
}
});

但是你不能再使用消息参数了。

更新 : 我刚刚改进了 Messages如果首先没有消息参数,则不执行任何格式化的实用程序。您可以在 this commit 中看到增强功能.它在今天的最新版本 2.5-SNAPSHOT 中可用.

关于jsf - 如何在通过 OmniFaces Messages#add 添加的人脸消息中显示撇号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39036714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com