c:set数组为c:out(jstl)的子集

时间:2019-05-08 10:05:45

标签: jsp jstl

我正在尝试(但失败)使用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),我花了很多时间发现这一点。

任何想法都很感激。

问候 拉尔夫

0 个答案:

没有答案