Como eu dinamicamente parâmetros de solicitação de acesso com JSP EL?
Pergunta
Eu estou looping através de uma lista de itens, e eu gostaria de ter um parâmetro de solicitação com base no índice do item. Eu poderia facilmente fazê-lo com um scriptlet como feito abaixo, mas eu gostaria de usar a linguagem de expressão.
<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>
Solução
<c:set var="index" value="item_${count.index}" />
${param[index]}
Infelizmente, + não funciona para cordas como em Java puro, então
${param["index_" + count.index]}
não funciona; - (
Outras dicas
Há uma lista de objetos implícitos na seção de documentação Expression Language do 1.4 documentação J2EE. Você está procurando param .
Você só precisa usar a notação "colchetes". Com o uso de um JSTL
<c:forEach var="item" items="${list}" varStatus="count">
<c:set var="paramName">item_${count.index}</c:set>
${param[paramName]}
</c:forEach>
Resposta curta:
${param.item_[count.index]}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow