1

我的 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方法ActionForm(通常与表单上的其他字段有关)。当表单重新加载时,不再填充文件输入。我在显示Action返回重新加载的页面之前添加了一个断言,并且ActionForm附件数量正确(它们的文件名不是空白等)。

有谁知道如何使文件绑定并保留?

4

1 回答 1

2

文件字段不能预填;这是众所周知的浏览器东西,与Struts无关。

于 2012-06-12T00:36:15.700 回答