formからPOST送信される階層化された値をパラメータとして取得したい。
お世話になっております。
環境
Eclipse 4.4
GAE/J 1.9.30
Servlet 2.5
※ServletFileUploadを使用しています。
<form action="/test" method="post" enctype="multipart/form-data">
<input type="text" name="name">
<input type="text" name="age">
<fieldset name="child">
<input type="text" name="name">
<input type="text" name="age">
</fieldset>
<input type="submit">
</form>
このようなformを送信する際にServlet側でパラメータを受け取っています
Servletでは
public class Parent {
private String name;
private int age;
private Child child;
}
public class Child {
private String name;
private int age;
}
このような2つのデータクラスを持っています。
そこでformのnameとageをParentのフィールドに、fieldset内のnameとageを
Childのフィールドに格納し、ParentのchildにChildを格納したいと考えています。
Servletではリクエストパラメータを順に取り出し、リフレクションを使用することでParentの
フィールドにはセットできている状況です。
しかしChildのフィールドにリクエストパラメータをセットするにはどのようにしたらいいのでしょうか?
ParentからChildのフィールドを取得できない&できたとして同じname属性なのでどれがchild
のname属性を持ったinputの値かわからない状況です。
パラメータを1つずつ取り出す際にfieldset内のnameまたはageだと判断できるといいのですが。。
階層化と表現したのは
name, age, child: {name, age}
のようなイメージで取得したいためです。
またここには定義していないですが、画像の送信も行うのでmultipartである必要があります。
宜しくお願い致します。