【发布时间】:2014-09-02 06:56:56
【问题描述】:
我正在开发 Struts2 应用程序;
我的显示对象是地图对象:
Map<String, HashMap<String, List<PlanDAO>>> channelRoomTypePlanmap =
new HashMap<String,HashMap<String,List<PlanDAO>>>();
Map<String, List<RateInventoryDAO>> rateInventoryMap =
new HashMap<String, List<RateInventoryDAO>>();
在这里,我有两个对象,其中rateInventoryMap 键依赖于channelRoomTypePlanmap 值组合。
就像我打印 channelRoomTypePlanmap 的第一个值一样,我想使用其值的组合创建键,并在 rateInventoryMap 中找到它,如果它为真,那么它将打印它的值。
<div>
<table id="mainTable" >
<tr>
<td>
<s:iterator value="channelRoomTypePlanmap">
<table border="1">
<tr>
<td><s:property value="key" />
</td>
<td>
<table>
<s:iterator value="value">
<tr>
<td><s:property value="key" />
</td>
<td>
<table border="1">
<s:iterator value="value">
<tr>
<td><s:property value="planName" />
</td>
<s:iterator value="rateInventoryMap">
<s:iterator value="value">
<td><s:property value="currentRate" />
</td>
</s:iterator>
</s:iterator>
</tr>
</s:iterator>
</table>
</td>
</tr>
</s:iterator>
</table>
</td>
</tr>
</table>
</s:iterator>
</td>
</tr>
</table>
</div>
我试过这个,它以错误的格式显示,意味着在单行中显示第二个地图的所有数据。我还听说应该避免使用 scriptlet 代码。
如何在 JSP 上加入这两个地图?
使用上述代码的当前视图_
【问题讨论】:
-
你是什么意思使用其值的组合创建键?此外,您不应无缘无故地操纵视图层上的地图。
-
... 以错误的格式显示,意味着在单行中显示第二个地图中的所有数据。 - 但这就是您正在做的事情。如果需要,可以将行放入迭代器中。
-
@RomanC 实际上我已经完成了组合键,现在我想要来自 'rateInventoryMap = new HashMap
>();' 的行基于jsp页面上的那个键。我可以生成那个键 jsp 页面,并在“rateInventoryMap”中找到那个键吗? -
@V.Rohan 不要在 cmets 中发布代码、编辑问题和添加详细信息,DAO 也不应该用作视图层上的数据 bean。
-
使用
rateInventoryMap['your_key_here'].currentRate。