primefaceでファイルアップロードを介してアップロードされたファイルに基づいて、x個のmessage/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)を読んでから、それを教えてください問題がまだ残っている場合 –