您好,我正在使用 Spring MVC,我正在尝试在 jsp 页面中显示来自多个列表的一些数据。我搜索并找到了一些类似的主题,但我无法实现我想要做的事情,而且变得更加困惑。 我的模型类包含如下内容:
private String BlaBla1;
private String BlaBla2;
private List<String> Alpha;
private List<String> Beta;
.....
//getters setters
我想要的是在 jsp 中显示一个表,其中包含来自这两个列表(Alpha 和Beta ..) 一列有一个值。它们都具有相同数量的值。 例如
<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 模型始终具有私有(private)字符串 ... 并且 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>
请不要让我更改模型类,这是“不可能的”。 我在某处看到有人说要使用 Collection,但我不确定该怎么做。
任何建议都是有用的, 编码愉快!
最佳答案
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.
所以基本上您可以使用计数来迭代第二个列表。
关于java - Spring Mvc在Jsp中显示来自多个List的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870511/