Как мне получить динамический доступ к параметрам запроса с помощью JSP EL? - PullRequest
15 голосов
/ 19 января 2009

Я перебираю список элементов и хочу получить параметр запроса на основе индекса элемента. Я мог бы легко сделать это с помощью скриптлета, как это сделано ниже, но я бы хотел использовать язык выражений.

<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 ]

17 голосов
/ 19 января 2009
<c:set var="index" value="item_${count.index}" />
${param[index]}

К сожалению, + не работает для строк, как в простой Java, поэтому

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

не работает; - (

4 голосов
/ 19 января 2009

Список неявных объектов содержится в документации по языку выражений в документации по J2EE 1.4. Вы ищете param .

3 голосов
/ 19 января 2009

Вам просто нужно использовать обозначение «квадратные скобки». С помощью тега JSTL вы можете сгенерировать правильное имя параметра:

<c:forEach var="item" items="${list}" varStatus="count">
  <c:set var="paramName">item_${count.index}</c:set>
  ${param[paramName]}
</c:forEach>
0 голосов
/ 23 марта 2011

Краткий ответ:

${param.item_[count.index]}
...