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 に答える