1
我已經在我的Struts以下ActionForm
文件輸入消失的Struts無效表上刷新
private List<FormFile> attachmentList = new ArrayList<FormFile>();
public MyForm() {
for (int i = 0 ; i < 5 ; i++) {
getAttachmentList().add(null);
}
}
public List<FormFile> getAttachmentList() {
return attachmentList;
}
public void setAttachmentList(List<FormFile> attachmentList) {
this.attachmentList = attachmentList;
}
public FormFile getAttachmentList(int index) {
return getAttachmentList().get(index);
}
public void setAttachmentList(int index, FormFile formFile) {
getAttachmentList().set(index, formFile);
}
而在我的JSP中,我有以下
<c:forEach var="counter" begin="0" end="4">
<input type="file" name="attachmentList[${counter}]" size="50" />
</c:forEach>
一切正常,除非的validate
方法ActionForm
發現錯誤(通常與表單上的其他字段有關)。當表單重新加載時,文件輸入不再被填充。在顯示Action
返回重新加載的頁面之前,我添加了一個斷言權,並且ActionForm
具有正確數量的附件(它們的文件名不是空白等)。
有誰知道如何使文件綁定和保持?