스프링 프로젝트 에서 간단한 체이징 처리 순서(방법)
1.
<!-- 페이징 처리를 위한 폼 = [다음][이전] -->
<div>
<c:if test="${currentPage>1}">
<a href="/admin/business/getBusinessList?page=${currentPage-1}">[이전]</a>
</c:if>
<c:if test="${currentPage<endPage}">
<a href="/admin/business/getBusinessList?page=${currentPage+1}">[다음]</a>
</c:if>
</div>
2.
//프로젝트 리스트
@RequestMapping(value="/admin/contract/getContractList", method=RequestMethod.GET)
public String getContractList(@RequestParam(value="page", defaultValue="1") int page,
Model model,
Contract contract) {
System. out.println( "03.프로젝트 조회 처리+페이징 getContractList ContractController.java");
List<Contract> contractList = contractService.getContractList(page,contract);
model.addAttribute("contractList", contractList);
model.addAttribute("endPage",contractService.getEndPage()); //마지막 페이지
model.addAttribute("currentPage",page); //현재 페이지
return "/admin/contract/getContractList";
}
3.
@Transactional
private final int PAGE_PER_COUNT = 10;
//프로젝트 리스트 + 페이징 처리
@Override
public List<Contract> getContractList(int page, Contract contract) {
System.out.println( "SELECT Service구현체 +페이징처리 경로:getContractList ContractServiceImpl.java");
PageHelper pageHelper = new PageHelper();
// pageHelper 를 이용하여 startRow
int startRow = (page-1)*PAGE_PER_COUNT;
pageHelper.setStartRow(startRow);
pageHelper.setPagePerCount(PAGE_PER_COUNT);
Map<String, Object> map = new HashMap<String, Object>();
map.put("contract", contract);
map.put("pageHelper", pageHelper);
return contractDAO.selectContractList(map);
}
//페이징 처리 에 사용될 EndPage()
@Override
public int getEndPage() {
int count = contractDAO.selectCount();
int endPage = count/PAGE_PER_COUNT;
if(count/PAGE_PER_COUNT != 0){
endPage++;
}
return endPage;
}
4.
@Override
public List<Contract> selectContractList(Map<String, Object> map) {
System.out.println("프로젝트 조회 + 페이징 DAO구현체 경로:com.pms.wbs.account.service.ContractDAOImpl.java ");
return sqlSession.selectList(NS+".selectContractList",map);
}
@Override
public int selectCount(){
return sqlSession.selectOne(NS+".selectCount");
}
5.
<!-- 프로젝트 리스트 -->
<select id="selectContractList"
parameterType="java.util.Map"
resultType="com.pms.contract.domain.Contract">
SELECT
contract_info_code as contractInfoCode,
business_info_code as businessInfoCode,
business_sort_code as businessSortCode,
company_info_code as companyInfoCode,
contract_info_drafter as contractInfoDrafter,
contract_info_num as contractInfoNum,
contract_info_name as contractInfoName,
contract_info_branch as contractInfoBranch,
contract_info_user as contractInfoUser,
contract_info_man as contractInfoMan,
contract_info_date as contractInfoDate,
contract_info_changedate as contractInfoChangedate,
contract_info_enddate as contractInfoEnddate,
contract_info_startdate as contractInfoStartdate,
contract_info_deposit as contractInfoDeposit,
contract_info_VAT as contractInfoVAT,
contract_info_deadline as contractInfoDeadline,
contract_info_finish as contractInfoFinish,
contract_info_period as contractInfoPeriod,
contract_info_addfile as contractInfoAddfile,
contract_info_beforefile as contractInfoBeforefile,
contract_info_writedate as contractInfoWritedate,
contract_info_note as contractInfoNote
FROM
pms_contract_info
<where>
<if test ="contract_info_code != null">
contract_info_code like CONCAT('%',#{contract.contractInfoCode},'%')
</if>
</where>
ORDER BY contract_info_code DESC
LIMIT #{pageHelper.startRow},#{pageHelper.pagePerCount}
</select>
끝 ~
'프레임워크 > Spring' 카테고리의 다른 글
스프링에서 파일 업로드 소스 (0) | 2015.11.23 |
---|---|
타일즈 + 다이얼로그 팝업 소스 (0) | 2015.11.20 |
spring(스프링) project 생성시 한눈에 알아보기. (0) | 2015.11.10 |
자바 웹 개발 워크북 Lesson 01 웹 애플리케이션의 이해 (0) | 2015.11.06 |
스프링 - 자주 쓰이는 기법 M V C 체크 리스트 (1/9) (0) | 2015.10.27 |