[Seasar-user:15857] Re: [Teeda]可変個数のアップロードについて
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2008年 9月 26日 (金) 21:00:41 JST
小林 (koichik) です.
Date: Fri, 26 Sep 2008 19:22:17 +0900
From: Tonomura-Akira <[E-MAIL ADDRESS DELETED]>
To: [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:15854] [Teeda]可変個数のアップロードについて
> Teedaで用意されている UploadedFile型のプロパティを持つDtoを作成し
> そのDtoのlistをpageクラスに持つことで可変個数のアップロードを
> 実現しようとしています。
(中略)
> <tbody id="ichiranlistItems" >
> <tr>
> <th>ファイル1</th>
> <td class="input">
> <input type="file" id="uploadedFile" />
> </td>
> </tr>
> </tbody>
この HTML だと繰り返しの中のリクエストパラメータは
<input type="file"> の項目一つだけとなりますが,
この項目は通常のリクエストパラメータとは異った扱いを
されるため,HttpServletRequest#getParameterNames() で
取得することができません.
RequestDumpFilter でパラメータとして出力されて
いないことからそれを確認することができます.
そのため,forEach で繰り返しの数が 0 と判断されて
しまい,アップロードされたファイルを受け取ることも
できません.
回避策として,繰り返しの中に <input type="hidden"> を
含めてください.
> <td class="input">
> <input type="file" id="uploadedFile" />
<input type="hidden" id="ichiranlistIndex" />
> </td>
public int ichiranlistIndex;
forEach の中にチェックボックスだけがある場合と
同じ対応になります.
--
<component name="koichik">
<property name="fullName">"Koichi Kobayashi"</property>
<property name="email">"[E-MAIL ADDRESS DELETED]"</property>
<property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>
Seasar-user メーリングリストの案内