2009-01-19 63 views
15

我正在循環瀏覽項目列表,我想根據項目的索引獲取請求參數。 我可以很容易地做到這一點,如下所示,但我想使用表達式語言。如何使用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> 

回答

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

不幸的是,+不字符串像普通的Java工作,所以

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

不起作用;-(

+1

我糾正了參考PARAMS。它應該是參數。但你的回答給了我我需要的東西來實現它的工作。謝謝! – ScArcher2 2009-01-19 19:01:10

+0

你可以這樣做:$ {param [「index _」。concat(count.index)]} – jpaoletti 2016-06-08 12:29:23

3

您只需要使用「方括號」表示法。與使用JSTL <的C:設置>標籤就可以生成正確的參數名:

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

簡短的回答:

${param.item_[count.index]}