승진이의 세상 살아가는 이야기  
Front Page
Tag | Location | Media | Guestbook | Admin   
 
[STRUTS] From 자바코리아 5. Iterate 3 : ArrayList-HashMap을 이용한...
4. Iterate 3 : ArrayList-HashMap을 이용한 Data Collection으로 <logic:iterate> 사용하기 그리고 <logic:notEmpty>태그와<logic:iterate>의 시너지

 
-4강에서는 실전 데이터형태를 사용하고, 예외처리를 하며, 디자인도살짝꾸밈으로서 <logic:iterate>태그를 실전에 적용해보자.
 (본 강좌에 사용된 실전소스는 첨부파일을 다운로드받으세요!)

[작동과정]
1. 입력(조회)페이지가 열린다.
2. 입력하고 submit한다.
3. action에서 쿼리를 수행하여 데이터를 가져온다.(본예제에서는 데이터를 하드코딩함)
4. 가져온 데이터Collection를 리스팅한다.
 
[그림 1,2]
 
3. Action에서는 ArrayList-HashMap조합으로 데이터를 객체화하여 request에 담습니다.
 
     ArrayList al = new ArrayList();
      HashMap row = new HashMap();
      row.put("이름","홍길동");
      row.put("나이","23");
      row.put("주소","서울시 역삼동");
      al.add(row);
      
      HashMap row2 = new HashMap();
      row2.put("이름","백두산");
      row2.put("나이","30");
      row2.put("주소","대구시 수성동");
      al.add(row2);    
 
      HashMap row3 = new HashMap();
      row3.put("이름","진달래");
      row3.put("나이","28");
      row3.put("주소","부산시 남구 우암동");
      al.add(row3);        
     
     request.setAttribute("array",al);
 
4. 리스팅시에 notEmpty태그를 iterate태그와 함께 사용합니다.
<logic:notEmpty name="array" >
   <logic:iterate name="array" type="java.util.HashMap" id="row" indexId="k">
    <tr>
     <td>
      <b><%=(k.intValue()+1)+""%></b>
     </td>
     <td>
      <%=row.get("이름")%>
     </td>
     <td>
      <%=row.get("나이")%>
     </td>
     <td>
      <%=row.get("주소")%>
     </td>              
    </tr>
   </logic:iterate>      
  </logic:notEmpty>
 
이렇게 하면 step1에서 본페이지를 열때 array객체가 없더라도 에러가 나지않고 예외를 알리는 String으로 화면을 처리할수 있습니다.
그럼 array객체가 없을때 처리를 해보겠습니다.
  <logic:empty name="array" >
    <tr>
     <td colspan=4 align='center'>
      조회버튼을 클릭하세요.
     </td>              
    </tr>
  </logic:empty>
이와 같이 <logic:empty>를 사용하여 초기화면을 구성할수 있습니다.
여기서 name속성은 iterate와 마찬가지로 request.getAttribute("!!!");에 오는 !!!명이 오면됩니다.
 
[그림 결과화면]
 
[요약]
1. 열-행 방식의 데이터를 ArrayList-HashMap구조와 담아서 <logic:iterate>으로
display하였다.
 
2. <logic:iterate>태그는 자체적으로 null객체일때의 처리가 없으므로, 예외처리를 위해
객체의 존재유무를 체크한다. 그역할을 하는 태그는 <logic:empty><logic:notEmpty>이며 스크립트릿에서
if-else처리에 해당되는 태그이다.
속성중 name은 attribute객체명을 얻는 키이름이다.
신고


BLOG main image
항상 0에서 시작한다는 자세를 갖고 앞으로 나에게 가장 유리한 것이 무엇인지를 찾아라.
 Notice
 Category
분류 전체보기 (228)
승진이 이야기 (29)
승진이 공부중 (16)
승진이 자료실 (1)
승진이와 Android (1)
승진이와 Java (49)
승진이와 DB (10)
승진이와 영어 (3)
승진이와 책 (8)
승진이와 C (6)
승진이와 Web (15)
승진이와 정보 (68)
승진이와 XML (3)
승진이와 Q&A (2)
승진이의 Logs (0)
승진이와 사진 (1)
승진이와 Android (0)
승진이와 자동차 (4)
승진이와 이클립스 RCP (6)
승진이와 프로젝트들 (0)
승진이와 JavaScript (2)
승진이와 쉘프로그래밍 (0)
Flex (0)
 TAGS
IzPack surge 자바 문자열 검색 FTP업로드 java.lang.NoClassDefFoundError 리눅스 informix 객체 참조 Android 새창으로 열기 수식 검색 신협중앙회 얼린 문 열기 c 스윙 C언어 문자열 디렉토리명 넷빈즈 에러 크로스 브라우저 펀드 특수 문자 엑셀 오라클 SDK Setup.exe 자격증 LPIC Preference 디렉토리 변경 java install.xml 뒤로가기 버튼 쓰레드 pk fk 조회 리눅스 팁 쉘스크립트
 Calendar
«   2017/11   »
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
 Recent Entries
ORA-32039: 순환 WITH 절에는 열 별칭 목록..
rexpert 오라클 접속 설정 방법
간단한 코드 테이블 설계
String padding 자바스크립트
jquery selector 셀렉터 표현식으로 찾기
이광영 부장판사 솜방망이 처벌 관련 링크들
sql 디벨로퍼 각주 제거 생성 단축키
jquery 이용하여 프린트 1
테이블 자동 줄바꿈 처리 방법
문자 찍는 함수 CHR() 함수와 ASCII()함수
 Recent Comments
5년이란 시간동안 my..
은성훈 - 2014
한국새끼들이 이래서..
qweqwe - 2014
mysql도 rollup기능..
ㄴㄴㄴ - 2014
감사합니다
고마워요 - 2012
헐.. 정말인가요? 사..
BreathAir - 2011
저는 이제서야 관련..
originkim - 2011
아주 막장 그자체라..
기술자 - 2010
request의 parameter..
님 짱!! - 2010
제가 목격한 건데요...
^^ - 2010
네 도대체 왜 그렇게..
BreathAir - 2010
 Recent Trackbacks
スタッドレスタイヤ..
スタッドレスタイヤ..
野球ス ミズノ
野球ス ミズノ
ve may bay
ve may bay
visit this web page..
visit this web page..
timeshare vacation..
timeshare vacation..
joogle.in
joogle.in
arassegaf.com
arassegaf.com
new Software techno..
new Software techno..
www.douloschurch.com
www.douloschurch.com
fix DBF file
fix DBF file
 Archive
2013/12
2013/11
2013/04
2013/03
2012/09
 Link Site
내 마음속 폭풍은 아직 아..
괴짜 프로그래머의 일상사~..
Joel on Software
Android 개발자 커뮤니티 ,..
developer.com
Jace\'s Blog
오라클 10g Documentation
Programing Note (승만이)
실용주의를 꿈꾸며(이클립..
http://pragmatic.kr
자바 누리 기술 문서 / 매..
Reflect
Java API 6.0 한글번역
eclipse resources 문서 링..
자바 관련 소스 많은 곳
미디어 파일 (무제한 웹하드)
http://younghoe.info/
Open Knowledge Share Drea..
키스포토 (사진강좌와 사진..
외국 드라마 TV show 자막..
무료 ebooks
지금샵
 Visitor Statistics
Total : 233,018
Today : 29
Yesterday : 14
rss