2012-06-25 1 views
0

나는 그것이 다음과 같은 방법으로 잘 작동하는 각 루프를 가지고 :foreach는 반복자 태그

<c:forEach begin="0" end="10" varStatus="status">'+ 
     <td><div id="text<c:out value="${status.index}"/>"> </div></td> 
</c:forEach>'+ 

I Action 클래스에서 다음과 같은 코드가 있습니다. 나는 위의 루프에서 end = "10"자리에 listSize를 전달하려고합니다.

Vector<String> l1 = new Vector<String>(); 
Vector<String> v1 = new Vector<String>(); 
l1.add("listSize"); 
v1.add(String.valueOf(list.length)); 
for (int i=0;i<list.length;i++){ 
    if (notEmpty(list[i].getText())){ 
    l1.add("text"+i); 
    v1.add(list[i].getText()); 
     } 
}response.getWriter().print(JSONUtils.toJSON(new Collection[]{l1}, new Collection[]{v1})); 

아무도 아이디어가 있습니까?

답변

1

<c:set>을 사용하여 변수를 설정하거나 (JSP/JSTL 내에서) 변수를 requestScope (JSP의 Java 부분)에 추가 한 다음 requestScope.variable을 통해 변수를 참조하십시오.

<c:forEach> 태그에 end="${variable}"을 사용하십시오.

감사합니다.

+0

은 내가 을 시도하고 그 객체를 null의 '널'오류를 보여 주거나 아니에요. – user1479178

+0

글쎄, 전체 코드를 보여줘. – Queequeg

0

요청에 "listSize"속성을 설정해야합니다. 목록의 크기가 포함됩니다.

모든 해답은 여기에 있습니다 : Pass variables from servlet to jsp

+0

아래와 같이 요청에 대한 속성을 설정했습니다. request.getSession(). setAttribute ("listSize", list.length); – user1479178

+0

jsp에서 를 사용하고이 count 변수를 end 속성에 사용했습니다. (즉 end = "{count}") – user1479178

+0

end = "$ {listSize}"를 사용할 수 있습니다. 내가 너를 도우면, 내 대답에 옳은 것으로 표시해 줘. – JMelnik