0

我想在 fileUpload 组件的 uploadListner 中显示一条消息。但是它根本没有显示任何消息。下面是我正在使用的代码片段。

     FacesContext context = FacesContext.getCurrentInstance();
        FacesMessage msg = new FacesMessage(
                FacesMessage.SEVERITY_ERROR,
                "Please remove special charecters from the File Name.        ",
                "");
        context.addMessage(null, msg);

我在 p:commandButton 尝试了同样的事情,它工作正常。这是片段的 XHTML 部分。

4

1 回答 1

1

您需要在视图中声明一个或<h:messages>组件才能显示消息。鉴于您在 中使用客户端 ID ,您可能打算显示全局消息,在这种情况下,您可以向上述消息组件添加一个属性以仅过滤全局消息。<p:messages><p:growl>nullFacesContext#addMessage()globalOnly="true"

此外,如果您要发送 ajax 请求,您也不应该忘记通过update<p:fileUpload>.

例如

<p:fileUpload ... update="messages" />
...
<h:messages globalOnly="true" />

或者,如果您使用的是 PrimeFaces 等价物,您也可以使用autoUpdate="true"

<p:fileUpload ... />
...
<p:messages globalOnly="true" autoUpdate="true" />
于 2013-03-26T11:58:37.150 回答