Ответ 1
<c:set var="index" value="item_${count.index}" />
${param[index]}
К сожалению, + не работает для строк, как в простой Java, поэтому
${param["index_" + count.index]}
не работает; - (
Я просматриваю список элементов, и я хочу получить параметр запроса на основе индекса элемента. Я мог бы легко сделать это с помощью скрипта, как показано ниже, но я бы хотел использовать язык выражения.
<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>
<c:set var="index" value="item_${count.index}" />
${param[index]}
К сожалению, + не работает для строк, как в простой Java, поэтому
${param["index_" + count.index]}
не работает; - (
В документе Документация по языку выражения приведен список неявных объектов документации J2EE 1.4. Вы ищете параметр.
Вам просто нужно использовать обозначения "квадратные скобки". С использованием 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>
Короткий ответ:
${param.item_[count.index]}