我的Struts ActionForm
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
的{{1}}方法发现错误(通常与表单上的其他字段相关),否则一切正常。表单重新加载时,不再填充文件输入。我在显示ActionForm
返回重新加载的页面之前添加了一个断言,Action
具有正确数量的附件(它们的文件名不是空白等)。
有谁知道如何使文件绑定并保留?
答案 0 :(得分:2)
无法预先填写文件字段;这是一个众所周知的浏览器,与Struts无关。