我有一个请求参数列表,键是一个整数,比如
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>
答案 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”的参数。