UriComponentsBuilder는 여러 개의 파라미터들을 연결하여 URL 형태로 만들어 준다.
즉 Controller단에서 addAttribute로 하나 하나 속성을 지정해주지 않아도UriComponentsBuilder를 이용하면 쉽게 파라미터들을 전달할 수 있다.
- ex) Criteria Vo 객체
// ex)
// 리스트 + 검색 + 페이징
public String makeSearch(int page) {
UriComponents uriComponents = UriComponentsBuilder.newInstance().queryParam("page", page)
.queryParam("perPageNum", cri.getPerPageNum())
.queryParam("searchType", ((SearchCriteria) cri).getSearchType())
.queryParam("perPageNum", cri.getPerPageNum()).build();
return uriComponents.toUriString();
}
그러면 아래처럼 cri 객체를 만들었을 때
Criteria cri = new Criteria();
cri.setPageNum(3);
cri.setKeyword("test");
cri.setPerPageNum(5);
cri.getListLink()의 결과는
" ?pageNum=3&keyword=test&perPageNum=5 "와 같이 GET방식에 적합한 URL 인코딩된 결과로 만들어 진다.
참조
'3. Back-end > 3-1. Spring MVC - 국비' 카테고리의 다른 글
Spring MVC - [ 정적 자원 매핑 - <mvc:resources> ] (0) | 2022.07.26 |
---|---|
Spring MVC - [ Ajax - @requestBody / @responseBody ] (0) | 2022.07.05 |
MyBatis - [ 쿼리문 where like ] (0) | 2022.06.29 |
Spring MVC - [ mapper : sql구문에 부등호 기호 사용 ] (0) | 2022.06.28 |
Spring MVC - [ 페이징 처리 ] (0) | 2022.06.28 |