분류 전체보기
-
코드로 배우는 스프링부트 웹 프로젝트 Day 9Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 24. 16:39
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ [등록 페이지의 링크와 조회 페이지 링크 처리] 지금까지는 글을 등록하기 위해 직접 /guestbook/register 링크에 들어가서 등록해야했다. 이제 새로운 글을 등록할 수 있는 버튼을 만들 것이다. 그리고 목록의 각 글의 번호나 제목을 클릭하면 조회 페이지로 이동하도록 처리할 것이다. list.html GuestBook List Page REGISTER 이제 조회 페이지로 이동하고 다시 목록 페이지로 이동하도록 만들 것이다. list.html [[${dto.gno}]] [[${dto.title}]] [[${dto.writer}]] [[${#temporals.format(dto.regDa..
-
Thymeleaf 정리프론트엔드 2022. 8. 23. 16:44
th:replace 각 화면에 분리해놓은 fragment를 붙여넣을 때 사용 태그 전체를 지정한 fragment로 교체해줌 th:insert th:replace와 유사한 기능 th:replace와의 가장 큰 차이점은 th:insert가 속한 태그 내부에 fragment를 삽입해줌 th:action form 태그와 같이 사용. 지정한 속성값 경로로 요청을 보낼 때 사용 위 코드는 POST 방식으로 전송할 수 있도록 지정 Thymeleaf의 링크 '@{ }' 를 이용 Thymeleaf의 반복문 th:each = "변수: ${목록} " th:block HTML의 태그가 아닌 오직 Thymeleaf만이 제공하는 자체 태그 => HTML로 처리X th:text나 th:value등을 써야하는 다른 태그들과 달리 별..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 8Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 21. 17:53
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ [페이지 번호 링크 처리] 앞서 작성한 코드에서는 페이지 번호의 링크를 href="#"로 처리해두었다. 이를 실제 링크로 수정해야 한다. list.html 수정 Previous [[${page}]] Next [등록 페이지와 등록 처리] GuestbookController 클래스에 추가 @GetMapping("/register") public void register() { log.info("register get..."); } @PostMapping("/register") public String registerPost(GuestbookDTO dto, RedirectAttributes redi..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 7Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 20. 12:41
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ GuestbookServiceTests @Test public void testList() { PageRequestDTO pageRequestDTO = PageRequestDTO.builder().page(1).size(10).build(); PageResultDTO resultDTO = service.getList(pageRequestDTO); System.out.println("PREV: " + resultDTO.isPrev()); System.out.println("NEXT: " + resultDTO.isNext()); System.out.println("TOTAL: " + resultD..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 6Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 18. 16:44
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ [서비스계층의 테스트] Day 5에서 만든 서비스계층을 테스트 작업을 통해 검사하고 이후에 컨트롤러와 연동시키는 것이 바람직함 service/GuestbookServiceTests package org.zerock.guestbook.service; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.zerock.guestbook.dto.Guest..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 5Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 17. 11:51
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ public interface GuestbookRepository extends JpaRepository, QuerydslPredicateExecutor { } Querydsl을 이용하므로 GuestRepository인터페이스가 QuerydslPredicateExecutor 추가 상속하도록 함 [엔티티의 테스트] test 폴더에 repository/GuestbookRepositoryTests 생성 package org.zerock.guestbook.repository; import org.junit.jupiter.api.Test; import org.springframework.beans.fa..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 4Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 16. 11:43
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ [레이아웃 템플릿 만들기] HEADER CONTENT FOOTER 후에 CONTENT 부분을 다른 내용으로 채워야 하기 때문에 해당 부분을 변경 가능하도록 수정 layout1.html 상단 부분 content 이름의 파라미터를 가지는 setContent를 th:fragment로 지정 layout1.html 중간 부분 content부분은 상단부분에서 파라미터로 받은 content로 대체하여 출력하도록 함 layout1.html 하단 부분 SampleController클래스의 exLayout1 @GetMapping({"/exLayout1", "/exLayout2", "/exTemplate"}) p..
-
코드로 배우는 스프링부트 웹 프로젝트 Day 3Spring/코드로 배우는 스프링부트 웹 프로젝트 2022. 8. 14. 16:09
/* Annotation들은 스프링부트 프로젝트의 Annotation 정리 페이지에 따로 정리해두었습니다. */ [링크 처리] 📎 Thymeleaf의 링크는 '@{ }' 를 이용함 SampleController exModel 수정 @GetMapping({"/ex2", "/exInline"}) public void exModel(Model model) { ``` } exLink.html [[${dto}]] @{/sample/exView}를 링크로 하여 생성됨 [[${dto}]] 📎 (sno=$dto.sno) => sno 파라미터 추가 [[${dto}]] 📎 sno를 path에 이용 (ex. /exLink/3) [Thymeleaf의 기본 객체와 LocalDateTime] Thymeleaf는 내부적으로 기본 ..