1

を使用して Struts 2 で複数のファイルをアップロードしようとするとArrayList、各フィールドを識別する方法は?

たとえば、2 つのファイル フィールドがFile1ありFile2、クライアント側でのみアップロードすることを選択した場合、Struts 2 はリスト内に 1 つの要素しか作成せず、アップロードされたファイルを空としてFile2正しくマッピングできません。File1File2

ここで使用できる識別子はありますか?

4

2 に答える 2

0

各フィールドに異なる名前を付け、アクション プロパティへの対応するアクセサーを作成します。次に、それぞれが 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>();

あなたのニーズに合ったものは何ですか

于 2013-06-11T17:31:08.543 に答える