如何使用JSP EL动态访问请求参数?

时间:2009-01-19 18:52:54

标签: java jsp jstl el

我正在遍历项目列表,我想根据项目的索引获取请求参数。 我可以使用下面的脚本轻松地完成它,但我想使用表达式语言。

<c:forEach var="item" items="${list}" varStatus="count">

   <!-- This would work -->
   <%=request.getParameter("item_" + count.index)%>

   <!-- I'd like to make this work -->
   ${param.?????}

</c:forEach>

4 个答案:

答案 0 :(得分:17)

<c:set var="index" value="item_${count.index}" />
${param[index]}

不幸的是,+对普通Java中的字符串不起作用,所以

${param["index_" + count.index]}

不起作用; - (

答案 1 :(得分:4)

J2EE 1.4文档的Expression Language documentation部分中有一个隐式对象列表。您正在寻找 param

答案 2 :(得分:3)

您只需使用“方括号”表示法。使用JSTL&lt; c:set&gt;标记您可以生成正确的参数名称:

<c:forEach var="item" items="${list}" varStatus="count">
  <c:set var="paramName">item_${count.index}</c:set>
  ${param[paramName]}
</c:forEach>

答案 3 :(得分:-1)

简短回答:

${param.item_[count.index]}