Java SpringMVC在Jsp中显示来自多个列表的数据
大家好,我正在使用SpringMVC,我试图在jsp页面中显示来自多个列表的一些数据。我已经搜索并找到了一些类似的主题,但我没能实现我想做的事情,并且变得更加困惑。 我的模型类包含如下内容:Java SpringMVC在Jsp中显示来自多个列表的数据,java,spring-mvc,arraylist,foreach,model,Java,Spring Mvc,Arraylist,Foreach,Model,大家好,我正在使用SpringMVC,我试图在jsp页面中显示来自多个列表的一些数据。我已经搜索并找到了一些类似的主题,但我没能实现我想做的事情,并且变得更加困惑。 我的模型类包含如下内容: private String BlaBla1; private String BlaBla2; private List<String> Alpha; private List<String> Beta; ..... //getters setters 但我得到的只是将它们
private String BlaBla1;
private String BlaBla2;
private List<String> Alpha;
private List<String> Beta;
.....
//getters setters
但我得到的只是将它们显示在2行中,并使用
<c:forEach var="testValue" items="${test}">
<tr><td>${testValue.value}</td></tr>
</c:forEach>
${testValue.value}
请不要让我改变我的模型课,这是“不可能的”。
我见过有人说要使用收藏,但我不知道怎么做
任何建议都是有用的,
快乐编码 您只需正常迭代
Alpha
列表即可。。。但是使用
标记的varStatus
属性。该varStatus
具有一个属性index
,该属性是迭代的索引,以及显示Beta
列表中相应元素所需的所有内容。代码示例:
<c:forEach var="alphaVal" items="${Alpha}" varStatus="status">
<tr><td>${alphaVal}</td><td>${Beta[status.index]}</td></tr>
</c:forEach>
${alphaVal}${Beta[status.index]}
在jsp中:
<c:forEach var="listItem" items="${alphaList}" varStatus="theCount" >
<tr><td>${listItem}</td><td>${betaList[theCount.index]}</td></tr>
</c:forEach>
${listItem}${betaList[theCount.index]}
注意:${theCount.index}
以0开头
${theCount.count}
以1开头
因此,基本上您可以使用计数来迭代第二个列表。“但我得到的只是将它们显示在N行中,并使用单个列。”这是否意味着您现在得到的是所有正确的列表数据,但它只是不正确地显示,即显示在单个列中?这是错的吗?老实说,不完全是……你是对的!我得到的是一行中每个列表中的所有值。因此,第1行中Alpha列表中的所有值和第2行中Beta列表中的所有值。因此,不,它们没有正确显示!我只是不能使用${testValue.Alpha}${testValue.Beta},因为在上面的其他示例中,我正在编辑我的原始帖子(抱歉)哦,嗨,谢谢你的帖子。我也会试试,但我有一个小问题…我应该把测试版放在控制器的什么地方?我的意思是我应该使用model.addAttribute(“…”,Alpha);和model.addAttribute(“…”,Beta);或者我应该把它们放在另一个列表或映射HashMap中?我尝试了很多东西,但是我迷路了。谢谢你的回答!谢谢@Nikhil,感谢Serge Ballesta的回答!
<c:forEach var="testValue" items="${test}">
<tr><td>${testValue.value}</td></tr>
</c:forEach>
<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);
<c:forEach var="listItem" items="${alphaList}" varStatus="theCount" >
<tr><td>${listItem}</td><td>${betaList[theCount.index]}</td></tr>
</c:forEach>