목차
UriComponentsBuilder(서버단에서 동적으로 URI 생성)
게시판에서 검색한 결과값이 글 수정, 조회를 해도 계속 페이지에 결과값이 유지되어야 하는 경우가 필요함
이 때 화면에서 form에 input hidden 속성으로 데이터를 담아서 javascript로 동적으로 form action을 변경시켜서 GET방식으로 전송하는데 이 작업을 줄여줄 수 있는게
UriComponentsBuilder 클래스임, 사용방법은 아래와 같음
아래는 검색조건을 유지하는 Criteria class인데 여기에 UriComponentsBuilder를 이용해서 parameter를 연결해서 링크를 생성하는 기능을 추가할 수 있음
![[Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성) [Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성)](https://blog.kakaocdn.net/dn/bhlgl8/btrR9GCG9cO/Z4bc9SpCf3E2e3wiAqM4lk/img.png)
getListLink()는 페이지번호, 보여줄 페이지 수, 검색타입, 검색 키워드를 parameter의 값으로 넣은 뒤 uri로 변환한 뒤 return한다.
위에서 반환한 uri는 controller에서 아래와 같이 사용하면 됨
![[Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성) [Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성)](https://blog.kakaocdn.net/dn/zVMpi/btrSegWR44M/HoF0HnlrRJFvkm02sLWalK/img.png)
결과는 아래와 같음
![[Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성) [Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - UriComponentsBuilder(서버단에서 동적으로 URI 생성)](https://blog.kakaocdn.net/dn/bo3oy0/btrSehBtpye/ZILLttpR1YDoC5wa2wlax0/img.png)
/board/list 뒤에 GET방식과 흡사하게 parameter의 값들이 전달된 것이 확인됨
가장 편리한 점은 한글 처리에 신경 쓰지 않아도 된다고 하고, 주로 javascript를 사용할 수 없는 상황에서 링크를 처리해야 하는 경우에 사용된다고 함
출처: 코드로 배우는 스프링 웹 프로젝트(개정판)
![[Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - 출처: 코드로 배우는 스프링 웹 프로젝트(개정판) [Spring]UriComponentsBuilder(서버단에서 동적으로 URI 생성) - undefined - 출처: 코드로 배우는 스프링 웹 프로젝트(개정판)](https://t1.daumcdn.net/keditor/emoticon/friends1/large/025.gif)
'IT > development' 카테고리의 다른 글
[springBoot] 프로젝트 세팅(IntelliJ 사용) (0) | 2022.11.28 |
---|---|
[Spring]spring REST(Representational State Transfer) (1) | 2022.11.27 |
[WebDevelopment]pagination (0) | 2022.11.27 |
[Spring]spring 프레젠테이션(웹)계층의 CRUD 구현 시 MockTest (0) | 2022.11.27 |
[Spring]단위테스트 jUnit (0) | 2022.11.27 |
댓글