我正在尝试(但失败)使用jstl c:set创建数组 其中包含c:out输出的值的子集。
我知道您实际上不应该这样做,但是我认为这应该可行。
<c:forEach var="row" items="${queryresults.rows}">
<td><c:out value="${row.Type}"/></td>
<td><c:out value="${row.Quantity}"/></td>
<td><c:out value="${row.sitename}"/></td>
<td><c:out value="${row.zonegroupname}"/></td>
<td><c:out value="${row.Zone}"/></td>
</c:forEach>
<c:forEach var="myrows" items="${queryresults.rows}">
<tr><td><c:out value="${myrows}"/><td><tr>
<c:set var="mynumbers" scope="session" value="${just the quantities}" />
<tr><td><c:out value="${mynumbers}"/><td><tr>
</c:forEach>
第一个c:out(myrows)正确输出包含数量的“字符串” 即-
{Quantity=1, sitename=London, Type=Mother/Guardian, Zone=CellA116, zonegroupname=Cells}
{Quantity=1, sitename=London, Type=Node, Zone=CellA116, zonegroupname=Cells}
{Quantity=2, sitename=London, Type=Staff, Zone=CellA116, zonegroupname=Cells}
{Quantity=3, sitename=London, Type=Staff, Zone=Reception, zonegroupname=Cells}
{Quantity=1, sitename=London, Type=State, Zone=Reception, zonegroupname=Cells}
{Quantity=1, sitename=London, Type=Temperature, Zone=CellA116, zonegroupname=Cells}
可以有任意数量的行(sql:query的输出)
我希望第二个c:out(mynumbers“数组”)是“数量唯一的myrows子集/分割”-
1,1,2,3,1,1
我无法使用原始的c:out值(row.Quantity),因为我处于单独的forEach循环中 (第二个forEach循环的原因是我希望mynumbers是所有数字的数组,而不仅仅是第一个)
所有内容都必须在jstl中。 我必须能够在JavaScript中“重用” mynumber(在同一jsp中进一步使用)
使用Java片段,ArrayList,StringBuffers,JSON无法正常工作(在同一jsp中没有“发送”到javascript),我花了很多时间发现这一点。
任何想法都很感激。
问候 拉尔夫