2024/11 17

Spring Boot - 관리자 페이지 (3)

지난번 글의 회원관리-회원코드 수정에 이어 이번글에서는 회원탈퇴 처리 및 공지사항에 대한 설명과 기능구현을 해보겠습니다. 부족해도 좋게 봐주세요 :)  Html (회원 탈퇴 여부) 회원탈퇴span th:text="${member.withdrawalRequest == 0 ? 'X' : 'O'}">span> : 해당 행의 회원의 탈퇴 요청 상태를 withdrawalRequest  값에 따라 표시.(삼항 연산자를 이용해서 0이면 X , 0이 아니면 O를 출력)버튼 클릭 시  deleteMember(this) 함수가 호출. th:data-memberid="${member.id}" 회원ID를 동적으로 할당, th:data-withdrawalRequest="${member.withdrawalReques..

Spring Boot - 관리자 페이지 (2)

저번글의 관리자 로그인 및 로그아웃 구현에 이어서 이번 글에서는 회원관리에 대해서 기능을 구현하고, 설명하려고 합니다. 부족해도 좋게 봐주세요 :) adminMain.html에서 작성해 놓은 회원 관리 회원리스트 a th:href="@{/admin-customer-list}">회원리스트a> a링크를 통해서 /admin-customer-list URL로 GET 요청이 전송됩니다. // 회원관리 페이지@GetMapping("/admin-customer-list")public String allCustomerList(HttpSession session, Model model) { Member admin = (Member)session.getAttribute("admin");..

Spring Boot - 관리자 페이지 (1)

관리자 페이지는 회원 관리, 공지사항 작성 및 수정, 질문 관리 등의 기능을 통해 사이트 운영을 효율적으로 관리할 수 있는 역할을 담당합니다. 이번 글에서는 이러한 기능들을 구현하는 과정을 설명하고, 어떤 방식으로 작동하는지를 공유하려고 합니다. 부족하더라도 좋게 봐주세요 :) 1. 관리자 로그인 페이지 (Html) 관리자 로그인 로그인 메인으로 이동 관리자용 ID와 Password를 입력한 후 로그인 버튼onclick="admin_login()"을 클릭하면 admin_login() 함수 호출. 2. admin_login() 함수 작성function admin_login() { if($("#id").val() == "") { swal.fire({ ..

Spring Boot - Q&A 페이지 구현하기 (2)

이번 글에서는 질문 작성에 이어서 작성한 질문의 수정 및 삭제에 대해서 포스팅 하겠습니다.부족하더라도 좋게 봐주세요 :) 1. Html - 수정, 삭제 버튼수정삭제 data-qna_seq=${qna.qna_seq}  : 이 속성은 현재 질문의 고유 시퀀스 번호 (qna.qna_seq)를 저장합니다.data-qna_writer=${qna.member.id} : 질문 작성자의 ID (qna.member.id)를 저장합니다.data-answer_status=${qna.answer_status} : 답변 상태 (qna.answer_status)를 저장합니다.data-qna_viewer=${loginUser.id} : 현재 로그인한 사용자의 ID (loginUser.id)를 저장합니다.  2. JavaScript..

Spring Boot - Q&A 페이지 구현하기 (1)

이번 글에서는 웹 사이트에서 빠질 수 없는 QnA 기능에 대해 다뤄보겠습니다. 일반 회원이 질문을 작성하고, 관리자가 해당 질문에 답변하는 기능을 구현할 예정입니다. 부족한 부분이 있을 수 있지만, 많은 관심과 피드백 부탁드립니다! :) 1. Qna 클래스 만들기 (Qna.java)package com.demo.domain;import java.util.Date;import org.hibernate.annotations.ColumnDefault;import org.hibernate.annotations.DynamicInsert;import org.hibernate.annotations.DynamicUpdate;import jakarta.persistence.Entity;import jakarta.pers..

Spring Boot - 댓글 좋아요 기능 구현하기

앞서 소개한 댓글 CRUD 기능 구현에 이어, 오늘은 댓글 좋아요 기능을 구현하려고 합니다.부족하더라도 좋게 봐주세요 :) + 댓글의 좋아요 기능을 위해 테스트용 댓글 작성1. 클래스 생성package com.demo.domain;import jakarta.persistence.Entity;import jakarta.persistence.GeneratedValue;import jakarta.persistence.GenerationType;import jakarta.persistence.Id;import jakarta.persistence.JoinColumn;import jakarta.persistence.ManyToOne;import lombok.AllArgsConstructor;import lombok..

Spring Boot - 댓글 CRUD기능 구현하기 (3)

이번 글에서는 댓글 삭제 및 댓글 좋아요 기능에 대해 써보려고 합니다..저번 글에서 하려고 했느데 오류가 많아서 수정하다보니 깜빡했어요;;  부족하지만 좋게 봐주세요 :)1. 삭제 버튼 Html댓글삭제data-* 속성은 HTML5에서 표준화된 커스텀 데이터 속성으로, 자바스크립트에서 데이터를 전송하거나 스타일링을 위해 데이터를 HTML 요소에 저장할 때 유용하게 사용됩니다.th:data-reply-seq속성에 reply.replySeq 값이, th:data-reply-member-id 속성에 댓글 작성자 ID인 reply.member.id 값이, th:data-login-user-id속성에 로그인한 사용자 ID인 loginUser.id 값JavaScript에서 버튼을 클릭할 때 이러한 data-* 속성에..

Spring Boot - 댓글 CRUD기능 구현하기 (2)

이번 글에서는 댓글 CRUD기능 중 수정(U)과 삭제(D)에 관한 글을 써보려고 합니다.부족해도 이해하고 봐주세요... :) 1. html에 수정 버튼 만들기 : 댓글수정 좋아요  좋아요 수 :   댓글삭제  댓글수정 data-reply-seq 속성은 각 댓글의 고유 식별자인 replySeq 값을 담습니다.data-reply-member-id 속성은 댓글 작성자의 ID를 담습니다.data-login-user-id 속성은 현재 로그인한 사용자 ID를 담습니다.onclick 속성은 버튼이 클릭되었을 때 실행할 JavaScript 함수(replyEdit)를 지정합니다.replyEdit(this)에서 this는 현재 클릭된 버튼 요소를 가리키며..

Spring Boot - 이미지 업로드 및 삭제

리뷰 CRUD 기능을 구현하면서 이미지 업로드와 삭제 기능은 따로 다루지 않았기에, 이번 글에서는 이를 중점적으로 공부하고 기록해 보려 합니다. 서버에 파일을 업로드하고 저장하는 과정과 업로드된 이미지를 삭제하는 방법까지 하나씩 실습하며 정리할 예정입니다.  업로드 및 삭제 파일 관리를 위한 클래스 생성package com.demo.domain;import java.io.IOException;import java.nio.file.Files;import java.nio.file.Path;import java.nio.file.Paths;import org.springframework.web.multipart.MultipartFile;public class FileUploadUtil { public stati..