Jsf 如何在p:messages组件中显示字符串数组中的值
我需要您的帮助来显示字符串数组中的值,并在jsf页面的Messages组件中显示它们 在代码中,我有一个字符串[],其中包含以下条目:Jsf 如何在p:messages组件中显示字符串数组中的值,jsf,primefaces,Jsf,Primefaces,我需要您的帮助来显示字符串数组中的值,并在jsf页面的Messages组件中显示它们 在代码中,我有一个字符串[],其中包含以下条目: String[] messages = new String[] { "Record No.1 Fail", "Record No.2 Fail", "Record No.3 Success" }; 现在,我需要您的帮助来显示字符串数组中的失败记录,该字符串数组在messages组件中被称为数据,代码如下: FacesContext.g
String[] messages = new String[] {
"Record No.1 Fail",
"Record No.2 Fail",
"Record No.3 Success"
};
现在,我需要您的帮助来显示字符串数组中的失败记录,该字符串数组在messages组件中被称为数据,代码如下:
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "Record No.1 Fail", ""));
// values from String Array should be passed
jsf页面有:
<p:messages id="messages" showDetail="true" autoUpdate="true" closable="true" />
一个组件将处理多条消息。只需确保在xhtml页面中放置了一个,该页面将在操作完成后呈现或更新
因此,在您的支持bean中,您应该只遍历messages[]并添加faces消息,就像@BalusC建议的那样
String[] messages = new String[] {
"Record No.1 Fail",
"Record No.2 Fail",
"Record No.3 Success"
};
for(int i = 0 ; i < messages.length; i++){
String msg = messages[i];
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, msg, null));
}
结果如下所示:
顺便说一下,您没有使用“详细信息”选项,因此应该使用showdeail=false您的问题是具体的。要解决问题,首先要简化事情,更一般地思考。。。您似乎想要的是“格式化”文本。正如您可能理解的,数组的“toString”是基本的,并且很可能没有按照您想要的方式进行格式化。所以你需要自己做一些基本的“格式化”,永远。然后,您的问题是“如何在p:messages中传递/显示格式化文本?”。在上面的代码中,DB访问是完全不相关的。静态数组也会有同样的问题。因此,它与java或数组无关,因此这些标记是错误的?