2013-09-04 3 views
0

3 개의 매우 유사한 코드 블록을 수행해야하므로 & 코드를 거의 동일한 코드를 붙여 넣지 않고 다른 파일로 분리했습니다. 이제는 <s:include> 동안 매개 변수화되었습니다. 블록 하나에서 문제가 하나 있습니다. 목록에서 작동하며 이름의 일부는 매개 변수 중 하나입니다. 이 반복자 문제 (list="request.${param.name}List")는 아니지만, 나는 목록 크기를 얻을 수 없습니다. 나는 이런 식으로 뭔가 수행해야합니다어떻게 JSTL에서 목록 이름을 변수화하는?

${param.name} 등 - 매개 변수화 이름이 가야

대신 ___ 목록의 크기,하지만 난 그것을 넣어하는 방법을 모른다 - 매개 화 부분
${fn:length(request.___List)}입니다 그것이 작동하는 방식으로.

+0

$을 (https://stackoverflow.com/tags/el/info 참조) {FN은 : 길이 (pageContext.request.param.listname는)} 당신의 크기를 주어야한다 list리스트의 이름이 listname 인 곳. – AurA

+0

아니요,'param.name'은'param.name = dogs'와 같이리스트 이름의 일부일뿐입니다. 길이를 계산할리스트는'dogsList'가 될 것입니다. – joval

+0

지도를 사용하고 거기에 모든리스트를 넣은 다음 키를 매개 변수로 사용합니다. –

답변

0

C 스타일의 배열 연산 함수와 마찬가지로 목록 크기를 다른 인수로 전달하는 일이 발생했습니다.

당신은 당신의 목록 이름에 대한 변수를 만든 다음 중괄호 표기법을 사용할 수
0

<c:set var="myList" value="${param.name}List"/> 
${fn:length(request[myList])} 
관련 문제