본문 바로가기

타임리프(Thymeleaf)23

스프링 부트(Spring Boot) 게시판 - REST API 방식으로 댓글 등록 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 댓글 데이터를 관리할 tb_comment 테이블을 생성하고, 매퍼(Mapper)와 서비스(Service) 영역까지 댓글 CRUD 기능을 구현해 보았습니다. 이번에는 댓글 등록 기능을 구현해 볼 건데요. @RestController 어노테이션과, jQuery의 Ajax를 이용해서 화면의 움직임(이동 또는 새로고침) 없이 데이터를 주고받는 비동기 처리에 대해 알아보겠습니다. 1. REST AP.. 2023. 4. 18.
스프링 부트(Spring Boot) 게시판 - REST API 방식으로 댓글 CRUD 처리하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 REST API란 무엇이며, 어떤 방식으로 데이터에 접근해야 하는지 가볍게 알아보았습니다. 지금부터 게시판에 댓글 기능을 구현해 볼 건데요. 이번 글에서는 매퍼(Mapper)와 서비스(Service)에 댓글 CRUD 로직을 작성해 두고, 다음 글부터 @RestController와 jQuery의 Ajax를 이용해서 비동기 방식의 화면(HTML) 처리를 진행합니다. 1. 댓글 테이블 구조 칼럼.. 2023. 4. 17.
스프링 부트(Spring Boot) - 페이징(Paging) & 검색(Search) 처리하기 2/2 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 페이징과 검색 기능에 필요한 공통 클래스들을 정의하고, 게시글 리스트 페이지에 페이징을 적용해 보았습니다. 이번에는 기존의 페이징에 게시글 검색 기능을 추가하고, 특정 페이지에서 어떠한 작업(액션)이 발생했을 때 이전 페이지 정보와 검색 조건을 유지시키는 기능을 구현해 보겠습니다. 이번 글은 구멍가게 코딩단의 코드로 배우는 스프링 웹 프로젝트 서적을 참고해서 포스팅하였습니다. 1. 검색 처.. 2023. 4. 13.
스프링 부트(Spring Boot) - 페이징(Paging) & 검색(Search) 처리하기 1/2 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글을 끝으로, 게시글 CRUD 처리와 개발 단계에서의 필수 설정이 모두 마무리되었습니다. 이번에는 게시글, 댓글, 회원 등 페이징 기능이 필요한 어느 곳에서나 공통으로 사용할 수 있는 클래스를 정의해서 페이징을 적용해 보겠습니다. 이번 글은 구멍가게 코딩단의 코드로 배우는 스프링 웹 프로젝트 서적을 참고하여 작성했습니다. 1. 페이징(Paging)이란? 페이징은 사용자에게 데이터를 제공할 때, 전체.. 2023. 4. 12.
스프링 부트(Spring Boot) - 컨트롤러에서 알러트(Alert) 메시지 처리하기 [Thymeleaf, MariaDB, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글을 마지막으로 게시판에서 가장 기본이 되는 CRUD(등록/조회/수정/삭제) 기능의 구현이 완료되었습니다. 지금부터는 개발의 퀄리티를 향상할 수 있는 몇 가지 기능들을 프로젝트에 적용해 볼 건데요. 첫 번째는 컨트롤러에서 특정 페이지로 리다이렉트 하는 시점에 사용자에게 메시지를 보여주는 기능입니다. 갑작스럽지만, 잠시 동기식 처리(synchronous)와 비동기식 처리(Asynchronous)에 대.. 2023. 4. 6.
스프링 부트(Spring Boot) 게시판 - 게시글 삭제 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 상세 페이지와 게시글 수정 기능을 구현해 보았습니다. 이번에는 특정 게시글을 삭제하는 기능을 구현해 볼 건데요. 리스트, 상세 페이지와 마찬가지로 컨트롤러와 HTML만 조금 손봐주면 게시글 삭제 기능 구현이 완료됩니다. 1. 컨트롤러(Controller)에 메서드 추가하기 PostController에 다음의 메서드를 추가해 주세요. // 게시글 삭제 @PostMapping("/pos.. 2023. 4. 5.
스프링 부트(Spring Boot ) 게시판 - 게시글 상세정보 조회 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 리스트 페이지를 구현해 보았습니다. 이번에는 특정 게시글의 상세정보를 보여주는 상세 페이지를 구현해 보도록 하겠습니다. 리스트 페이지와 마찬가지로, 컨트롤러와 HTML만 손봐주면 상세 페이지 구현이 완료됩니다. 1. 컨트롤러(Controller)에 메서드 추가하기 PostController에 다음의 메서드를 추가해 주세요. // 게시글 상세 페이지 @GetMapping("/post/.. 2023. 4. 5.
스프링 부트(Spring Boot) 게시판 - 게시글 리스트 조회 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 데이터를 처리할 서비스, 컨트롤러, 그리고 게시글 등록 페이지(HTML)와 게시판의 모든 페이지에서 공통으로 사용할 레이아웃까지 처리해 보았습니다. 이번에는 게시글의 목록을 보여줄 리스트 페이지를 구현해 볼 건데요. 우리는 이미 서비스(Service)와 매퍼(Mapper)에 게시글 CRUD 기능을 모두 구현해 두었기 때문에 화면(User Interface)을 담당하는 컨트롤러와 HT.. 2023. 4. 5.
스프링 부트(Spring Boot) 게시판 - 게시글 등록 기능 구현하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. DBMS 툴은 DBeaver를 이용하며, DB는 MariaDB를 이용합니다. (MariaDB 설치하기) 화면 처리는 HTML5 기반의 자바 템플릿 엔진인 타임리프(Thymeleaf)를 사용합니다. 이전 글에서는 게시글 데이터를 관리할 tb_post 테이블을 생성하고, MyBatis를 이용해서 게시글 CRUD 기능을 구현해 보았습니다. JUnit 단위 테스트까지 진행해 보았으니 지금부터는 실전입니다. 이번 글에서는 비즈니스 로직을 담당하는 서비스(Model), 사용자가 보는 화면을 의미하는 UI(View), 마지막으로 서비스와 UI를 연결해 주는 컨트롤러(Controller)를 처리하는 방법과 개발.. 2023. 4. 3.
스프링 부트(Spring Boot) - 게시판 CRUD 처리하기 [Thymeleaf, MariaDB, IntelliJ, Gradle, MyBatis] 본 게시판 프로젝트는 단계별(step by step)로 진행되니, 이전 단계를 진행하시는 것을 권장드립니다. 본 포스팅은 DBeaver를 기준으로 작성된 글이며, 만약 MariaDB가 설치되어 있지 않으시다면, 선행 작업 으로 MariaDB 설치하기를 꼭! 진행해 주세요. 이전 글에서는 스프링 부트와 데이터베이스(MariaDB + MyBatis)를 연동하고, JUnit을 이용해서 단위 테스트 하는 방법을 알아보았습니다. 이번 글부터는 약속대로 게시판을 구현해 보도록 하겠습니다. 대학에서 처음으로 동아리원들과 진행해 본 프로젝트는 게시판이었습니다. "뜬금없이 무슨 게시판이야?"라고 생각하실 수도 있습니다만, 웹 개발에 있어 게시판은 가장 기본적이며, 어떠한 시스템이던 게시판의 특성을 가지고 있습니다. 즉,.. 2023. 3. 23.