Как динамически получить доступ к параметрам запроса с помощью JSP 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>

Ответы

Ответ 1

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

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

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

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

Ответ 3

Вам просто нужно использовать обозначения "квадратные скобки". С использованием JSTL < c: set > tag вы можете сгенерировать правильное имя параметра:

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

Ответ 4

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

${param.item_[count.index]}