在spring中使用object作为map(treemap)中的键

时间:2012-11-29 13:55:05

标签: spring jstl

我试图在FormBean中的Map上显示JSP页面对象的属性。地图定义为

Map<KeyObject, ValueObject> m

KeyObject有两个属性

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>

我需要:

  • 按正确顺序显示元素
  • 提交要映射的对象

那么有没有简单的解决方案,或者我应该做一些“魔术”?

感谢您的时间。

的Stefan


更多信息。每个对象都有其他“视图”,所以我尝试使用c:import

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

and on ... Page.jsp我想使用表单的输入。

1 个答案:

答案 0 :(得分: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>

您可以像上面一样遍历地图键和值,并根据需要输出不同的字段。