0

我有键是整数的请求参数列表,例如

0=hello&1=by&2=sss .......

我想使用以下参数迭代此参数列表foreach

<c:forEach var="i" begin="0" end="${fn:length(param)-1}" >
  <c:out value="${param['i']}"/>
</c:forEach>
4

1 回答 1

0

好的,看看这个技巧是否有效:

<c:forEach var="i" begin="0" end="${fn:length(param)-1}" >
    <c:set var="iString" value="t${i}"/>
    <c:out value="${param[fn:substringAfter(1, iString, fn:length(iString))]}"/>
</c:forEach>

1) c:set 语句将 i 从数字转换为形式为 "t0, t1, t2 .." 的字符串

2) 现在去掉第一个字符,substringAfter 返回一个只包含数字的字符串。


它超级接近。我相信您需要做的就是删除撇号:

从:

${param['i']}

至:

${param[i]}

使用撇号,您正在寻找一个名为“i”的参数,而不是一个名为“0”的参数。

于 2014-11-17T18:45:31.150 回答