を使用して Struts 2 で複数のファイルをアップロードしようとするとArrayList
、各フィールドを識別する方法は?
たとえば、2 つのファイル フィールドがFile1
ありFile2
、クライアント側でのみアップロードすることを選択した場合、Struts 2 はリスト内に 1 つの要素しか作成せず、アップロードされたファイルを空としてFile2
正しくマッピングできません。File1
File2
ここで使用できる識別子はありますか?
を使用して Struts 2 で複数のファイルをアップロードしようとするとArrayList
、各フィールドを識別する方法は?
たとえば、2 つのファイル フィールドがFile1
ありFile2
、クライアント側でのみアップロードすることを選択した場合、Struts 2 はリスト内に 1 つの要素しか作成せず、アップロードされたファイルを空としてFile2
正しくマッピングできません。File1
File2
ここで使用できる識別子はありますか?
各フィールドに異なる名前を付け、アクション プロパティへの対応するアクセサーを作成します。次に、それぞれが OGNL によって名前を処理し、対応するプロパティを設定します。イテレータタグでインデックス付けされたファイルのリストまたはマップを作成する別のアプローチを試してください。
<iterator begin="0" end="50" status="status">
<s:file label="%{File + #status.index}" name="fileUpload[%{#status.index}]" size="40" />
</iterator>
<s:submit value="submit" name="submit" />
活動中
private List<File> fileUpload = new ArrayList<File>();
また、アクセサーは各プロパティに対応する必要があります
次に、リストのインデックスでファイルをチェックすることで、アップロードされたものを知ることができます。で試すこともできますMap
。
<iterator begin="0" end="50" status="status">
<s:file label="%{File + #status.index}" name="fileUpload['%{#status.index}']" size="40" />
</iterator>
<s:submit value="submit" name="submit" />
活動中
private Map<String, File> fileUpload = new HashMap<String, File>();
あなたのニーズに合ったものは何ですか