여기서 중요한 부분은 List 에 값을 넣고, 다시 받아와서 뿌리는 것 까지 입니다.
Class 부분 입니다. (List에 관계되는 부분만 강조하여 표시하였습니다)
public List<String> getStatus() throws ServiceException, SQLException{ Connection conn = ConnectionProvider.getConnection(); PreparedStatement pstmt = null; ResultSet rs = null; String tmpStr = ""; try{ pstmt = conn.prepareStatement("select * from table"); rs = pstmt.executeQuery(); if(rs.next()){ List<String> statList = new ArrayList<String>(); do{ tmpStr = ""; tmpStr = tmpStr + rs.getString(1) + "|" + rs.getString(2); statList.add(tmpStr); }while(rs.next()); return statList; }else{ return Collections.emptyList(); } }catch(SQLException e){ throw new ServiceException("메시지 목록 구하기 실패 : " + e.getMessage(), e); }finally{ JdbcUtil.close(rs); JdbcUtil.close(pstmt); JdbcUtil.close(conn); } } |
- String 객체에 Select 된 결과의 칼럼1, 칼럼2 사이에 구분자 "|" 를 넣어서 붙인다음 List 에 추가 하여 리턴 하였습니다
Jsp 부분 입니다.
<% GetStatusService statData = new GetStatusService(); List<String> stData = statData.getStatus(); %> <% for(int i=0; i < stData.size();i++ ){ String arrData[] = stData.get(i).split("[|]"); ...(필요한 코드 추가) } %> |
- 해당 클래스의 인스턴스를 생성한 다음 List 를 선언하여 해당 메소드를 실행한 결과를 받아 냅니다.
- For 문을 이용하여 List의 처음부터 끝까지 돌면서 계속하여 String 값을 가져 와서 구분자단위로 끊어 arrData[]배열에 담아냅니다.
- 받아낸 데이터를 적당히 뿌려 줍니다. (이건 알아서...)