0

FormBean の Map から JSP ページ オブジェクトのプロパティを表示しようとしました。マップは次のように定義されます

Map<KeyObject, ValueObject> m

KeyObject には 2 つのプロパティがあります

public class KeyObject implements Comparable<KeyObject> {
    private Integer a;
    private Integer b;

    getters/setters/and rest basic methods
}

JSPでは、以下のコードのようなものを取得したい:

<c:forEach items="${formBean.m}" item="itm">
    ...
    <form:input path="m[itm.key].propertyName" />
    ...
</c:forEach>

する必要がある:

  • 要素を適切な順序で表示する
  • オブジェクトを送信してマップする

簡単な解決策はありますか、それとも「魔法」を使うべきですか?

御時間ありがとうございます。

ステファン


もう少し情報。各オブジェクトには他の「ビュー」があるため、 c:import を使用してみます

<c:forEach items="${formBean.m}" item="itm">
    <c:import url=${itm.value.name}Page.jsp" />
</c:forEach>

...Page.jsp では、フォームの入力を使用したいと考えています。

4

1 に答える 1

1
<c:forEach items="${formBean.m}" varStatus="itm">
    <tr>      
      <td>${itm.key.propertyName}</td>
      <td>${itm.value.propertyName}</td> <!--which is same as below ...  -->
      <td>${formBean.m[itm.key].propertyName}</td>
    </tr>
</c:forEach>

上記のようにマップのキーと値を繰り返し処理し、必要に応じてさまざまなフィールドを出力できます。

于 2012-11-29T14:01:43.630 に答える