0
我想根据通过primeup中的fileuploader上传的文件显示x个消息/ growl。为PrimeFaces显示fileupload的多个消息/咆哮消息
目前,它只会显示最新的消息。其余的将不会显示。无论如何,最后的节目可以绕过吗?或另一种选择?
所以,如果我上传4个文件。成功与否,我希望它显示4条消息。 1为每个文件。
的index.xhtml:
<h:form id="form">
<p:messages id="messages" autoUpdate="true" showDetail="true" closable="true" />
<p:fileUpload fileUploadListener="#{fileUploadAction.upload}"
mode="advanced" allowTypes="/(\.|\/)(asc)$/" dragDropSupport="true" update="messages" />
</h:form>
FileUploadAction.java:
public void upload(FileUploadEvent event)
{
String filename = event.getFile().getFileName();
try
{
copyFile(filename, event.getFile().getInputstream());
FacesContext.getCurrentInstance().addMessage(filename, new FacesMessage(FacesMessage.SEVERITY_INFO, "msg.header", filename + " is uploaded."));
}
catch (IOException e)
{
FacesContext.getCurrentInstance().addMessage(filename, new FacesMessage(FacesMessage.SEVERITY_ERROR, "err.header", e.getLocalizedMessage()));
}
}
public void copyFile(String fileName, InputStream in)
{
try
{
// write the inputStream to a FileOutputStream
OutputStream out = new FileOutputStream(new File(PropertiesUtil.LOCAL_PATH + fileName));
int read = 0;
byte[] bytes = new byte[1024];
while ((read = in.read(bytes)) != -1)
{
out.write(bytes, 0, read);
}
in.close();
out.flush();
out.close();
}
catch (IOException e)
{
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, "err.header", e.getLocalizedMessage()));
}
}
你的意思表示具有比一个消息的更多,当您上传您的文件?!? –
@YagamiLight是的。就像我上传4个文件和4个文件成功。我将显示4条消息。 1为每个文件。 – shadow
首先,如果您想制作多个上传文件,请在阅读完[Primefaces Upload Multiple File Example](https://www.primefaces.org/showcase/ui/file/upload/multiple.xhtml)后告诉我如果问题仍然存在 –