使用foreach迭代param JSTL

时间:2014-11-17 13:39:07

标签: loops jstl http-request-parameters

我有一个请求参数列表,键是一个整数,比如

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>

1 个答案:

答案 0 :(得分: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”的参数。