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 인코딩된 결과로 만들어 진다.
참조
더보기
https://2ham-s.tistory.com/276
[Spring]- UriComponentsBuilder란?
| UriComponentsBuilder 웹페이지에서 매번 파라미터를 유지하는 일이 번거롭고 힘들다면 한 번쯤 " UriCompoentsBuilder "라는 클래스를 이용하여 작성해보자 ! org.spring.framework.web.util.UriComponentsBui..
2ham-s.tistory.com
https://findmypiece.tistory.com/176
UriComponentsBuilder
URL 에는 사용할 수 있는 문자가 제한되어 있기 때문에 한글과 일부 특수문자, 공백 등의 문자들이 포함될 경우 반드시 인코딩을 해줘야 한다. 일반적으로 RestTemplate 나 브라우저 같은 클라이언트
findmypiece.tistory.com
'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 |