3. 자바 파일 설명
- 주요 계층형 게시판 관련 변수
public int boardNo=1; // 보드 ID
public int pageNo=1; // 현재 페이지 번호
public int pageSize=10; // 한페이지에 보여주는 글 수
public int groupSize=10; // 게시판 하단에 나오는 [1][2][3] 의 페이지 수
public int totCnt = 0; // 게시물의 총 수
public int groupNo=0; // 현재 그룹 번호
public int startRow=0; // 현재 페이지 시작 번호
public int endRow = 0; // 현재 페이지 끝번호
public int startPage=0; // 현재 그룹 시작 번호
public int endPage = 0; // 현재 그룹 끝 번호
public int totalPageCnt=0; // 총 페이지 수
public int totalPageGroupCnt=0; // 총 그룹 수
public int prevGroupPage = 0; // 이전 그룹으로 이동하는 페이지 번호
public int nextGroupPage = 0; // 다음 그룹으로 이동하는 페이지 번호
// 변수들의 초기값을 셋팅하는 함수
private void parserPage(){
// 그룹 사이즈(groupSize)가 10이고 현재페이지(pageNo)가 1일때는 현재 그룹은 1이 된다.
groupNo = pageNo/groupSize+(pageNo%groupSize==0?0:1);
// 한 페이지에 출력되는 최상단 즉 첫번째 글 번호
startRow = (pageNo-1)*pageSize+1;
// 한 페이지에 출력되는 마지막 글 번호
endRow = pageNo*pageSize;
totalPageCnt = (totCnt/pageSize)+(totCnt%pageSize==0?0:1);
totalPageGroupCnt = totalPageCnt/groupSize +(totalPageCnt %groupSize==0?0:1);
startPage = (groupNo -1)*groupSize+1;
if (startPage<0) startPage =0;
endPage = startPage+groupSize-1;
if(endPage>totalPageCnt) endPage = totalPageCnt;
prevGroupPage = (groupNo-2)*groupSize+1;
if(prevGroupPage<0) prevGroupPage = 1;
nextGroupPage = groupNo*groupSize+1;
if(nextGroupPage>totalPageGroupCnt)nextGroupPage = totalPageCnt;
for(int i=startPage;i<=endPage;i++){
BoardPage tmp = new BoardPage();
tmp.setPageNumber(i);
pageSizeArray.add(tmp);
}
}
/*** DB와 객체간에 맵핑 작업을 한다. */
@SuppressWarnings("unchecked")
private boolean setMap(){
boolean ret = false;
try{
if(m_reader==null ||m_sqlmap==null){
String resource = "SqlMapConfigAuth.xml";
m_reader = Resources.getResourceAsReader(resource);
m_sqlmap = SqlMapClientBuilder.buildSqlMapClient(m_reader);
Map tmpMap = new HashMap();
tmpMap.put("currentpage", pageNo);
tmpMap.put("pagesize", pageSize);
tmpMap.put("boardnu", boardNo);
if(selectValue.equalsIgnoreCase("")){
// (2)에서 설명된 iBatis의 맵을 호출하여 리스트 정보를 얻는다.
data = m_sqlmap.queryForList("boardMaster.selectlist",tmpMap);
}else{
data = m_sqlmap.queryForList("boardMaster.selectlist",tmpMap);
}
totCnt = (Integer)m_sqlmap.queryForObject("boardMaster.listcount",boardNo);
m_reader.close();
ret=true;
}
}catch(Exception e){
e.printStackTrace();
}
return ret;
}
'프로그래밍언어 > 패턴, 알고리즘, 프로토콜' 카테고리의 다른 글
jQuery로 만든 웹표준 달력 자바 스크립트 datepicker (1) | 2009.12.17 |
---|---|
STRUTS2+iBatis 계층형 게시판 만들기 (4) (0) | 2009.12.14 |
STRUTS2+iBatis 계층형 게시판 만들기 (2) (0) | 2009.12.14 |
STRUTS2+iBatis 계층형 게시판 만들기 (1) (0) | 2009.12.14 |
VB 프로세스 끝내기 (1) | 2009.11.26 |
댓글