<logic:iterate> tag / out.flush

2011. 9. 19. 22:39 from JAVA

while 문이나 for문대신 반복하면서 배열이나 컬렉션의 요소를 하나씩 꺼내 처리하는 테그

속성명

필수

디폴트값

자바 실행시 식의표시

설명

collection

표시

컬렉션을 취득하는 처리를jsp실행시식으로 기술한다.

id

필수

반복의,현재의 요소를 유지하는 변수명

page스코프의 BEAN으로서 취급된다.

indexId

반복루프카운트값을 유지하는 inetger형의 변수의 이름을 지정한다.

length

표시

최대반복횟수를 int형이나 java.lang..Integer형으로 지정한다. 컬렉션의 실제 길이보다 큰값을 지정한경우 실제의 길이에 다다르면 거기서 처리를 종료한다.

name

표시

반복의 대상이되는 컬렉션을 프로퍼티로써가지는 JavaBean scope속성응로지정한 스코프에서 취득하는 . Property속성이 생략된경우 반복의 대상이되는 컬렉션을 scope속성으로 지정된 스코프에서 취득하는

offset

0

표시

컬렉션의 반복을 시작하는 인텍스. Int형이나 java.lang.Integer형으로 지정한다.

property

표시

name속성으로 지정한 Bean 프로퍼티명을 지정한다. 취득한 오브젝트가 반복의 대상이 되는 컬렉션이된다.

scope

표시

name속성으로 지정한 Bean 검색하는 스코프를 지정한다. 생략된경우 page, request, session, application 순으로 자동검색된다.

type

표시

Id속성으로 지정된 Bean.실제로 캐스트 가능한 형을 지정한다.



<logic:iterate>태그는 자체적으로 null객체일때의 처리가 없으므로 예외처리를 위해

객체의 존재유무를 체크한다.

그 역할을 하는 태그는 <logic:empty><logic:notEmpty>이며 스크립트릿에서

if-else처리에 해당되는 태그

jsp 페이지는 기본적으로 8Kb 의 용량이 되어야 출력을 한다.

물론 페이지가 마감되면 당연히 브라우저에 나타나겠지만

백단 처리가 많은 경우엔 그대로 하얀 화면만 나오게 되므로

클라이언트의 불편함이 생길 수 있다.(화면이 안뜬다고 열심히 리프레쉬를 누르게 될테니...)

그러므로 백단 작업이 시작되기 전 화면 출력 내용이 8kb가 되지 않는다면

out.flush() 함수를 사용해서 로딩 중이라는 표시 정도는 해줘야

클라이언트의 불편함을 막을 수 있다.

out.flush()의 함수는 이 명령이 쓰여지기 전의 내용을 강제적으로 화면에 뿌려주는 기능을 제공

Posted by 에시드 :