Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringMVC在Jsp中显示来自多个列表的数据_Java_Spring Mvc_Arraylist_Foreach_Model - Fatal编程技术网

Java 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 但我得到的只是将它们

大家好,我正在使用SpringMVC,我试图在jsp页面中显示来自多个列表的一些数据。我已经搜索并找到了一些类似的主题,但我没能实现我想做的事情,并且变得更加困惑。 我的模型类包含如下内容:

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>