Spring Mvc 显示来自 Jsp 中多个列表的数据

Spring Mvc display data from multiple Lists in Jsp

您好,我正在使用 Spring MVC,我正在尝试在 jsp 页面中显示来自多个列表 的一些数据 。我搜索并找到了一些类似的主题,但我无法实现我想要做的事情,而且变得更加困惑。 我的 模型 class 包含如下内容:

private String BlaBla1;

private String BlaBla2;

private List<String> Alpha;

private List<String> Beta; 
.....
//getters setters

我想要的是用这两个 Lists[=48= 中的值在 jsp 中显示 table ](AlphaBeta ..)列中的一个值。它们都有 相同数量 的值。 例如

<tr><td>Alpha.value1</td><td>Beta.value1</td></tr>
<tr><td>Alpha.value2</td><td>Beta.value2</td></tr>
......................................
<tr><td>Alpha.valueN</td><td>Beta.valueN</td></tr>

正如我在这里看到的那样rendering data in jsp using spring controllers and different classes

和其他一些示例,他们创建了类似的东西:List<MyObjects> objects 但 MyObjects 模型始终具有私有字符串 ... 并且 NOT 任何 List<String>..

我试图构建类似的东西

Map<String,List<String>> test = new HashMap<String,List<String>>();

然后

test.put("alfa", Alpha);
test.put("beta", Beta);

但我得到的只是使用

2 行和单列中显示它们
<c:forEach var="testValue" items="${test}">
    <tr><td>${testValue.value}</td></tr>
</c:forEach>

请不要让我更改我的模型 class,它是 'impossible'。 我在某处看到有人说要使用 Collection,但我不确定该怎么做。

任何建议都会有用, 编码愉快!

您只需正常迭代 Alpha 列表...但使用 <c:foreach > 标记的 varStatus 属性。此 varStatus 具有(除其他外)属性 index,它是迭代的索引以及显示 Beta 列表中相应元素所需的所有内容。代码示例:

<c:forEach var="alphaVal" items="${Alpha}" varStatus="status">
    <tr><td>${alphaVal}</td><td>${Beta[status.index]}</td></tr>
</c:forEach>
model.addObject("alphaList", alpha);
model.addObject("betaList", beta);

在 jsp 中:

<c:forEach var="listItem" items="${alphaList}" varStatus="theCount" >
    <tr><td>${listItem}</td><td>${betaList[theCount.index]}</td></tr>
</c:forEach>

Note : ${theCount.index} starts with 0 ${theCount.count} starts with 1.

所以基本上你可以使用计数来迭代第二个列表。