| Thymleaf Fragement란? 웹페이지의 경우 공통으로 반복되는 영역이 많다. 페이지의 정보를 나타내는 헤더부분, 메뉴 탭을 나타는 네비게이션 바, 저작권 정보 등을 표시하는 푸터 등 여러 페이지에 거쳐 반복되는 영역이 존재한다 이런 공통의 영역들을 매 페이지의 HTML파일에 반복한다면 각 파일이 지저분해지는 것은 물론이고 변경의 지점 또한 분산되게된다. 공통의 영역을 분리함으로써 변경지점을 최소화할 수 있어서 변경에 용이하다 사용법 템플릿 조각을 이용하기 위해 footer.html 파일을 우선 만들어 준다. 푸터 자리 입니다. 파라미터 자리 입니다. 해당 태그들은 다른 HTML 파일에서 th:insert, th:replace 를 통해 사용할 수 있다. th:insert="~{ [ 템플릿 조각..
| 외부 경로 Resource 접근하기 Spring 사용시 외부(프로젝트폴더 밖)에 존재하는 Resource를 사용하고 싶을때가 있다. 사용하는 방법을 알아보겠다 fileConfig @Configuration public class fileConfig implements WebMvcConfigurer { @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { registry.addResourceHandler("/profile/**") .addResourceLocations("file:///home/ubuntu/img/"); } } .addResourceHandler 를 통해 외부에서 Resource를 요청하는 경로를 .a..
| 카카오톡 간편로그인 과정 Login.html prompt=login 파라미터는 자동로그인X, 항상 로그인해야함 클릭시 카카오톡 로그인페이지로 이동 카카오로그인페이지 카카오톡 로그인을 통해 얻고자 하는것 사용자의 프로필사진, 닉네님, 이메일 정보 프로세스 1. 사용자가 아이디 비번치고 로그인하면 그 정보가 카카오서버로 바로 전송(개발자는 사용자의 아이디 비밀번호를 알 수 없음) 2. 사용자가 로그인을 성공하면 카카오톡 서버에서 인가코드를 Redirect URI에 전달 3. 개발자는 인가코드를 가지고 카카오서버에 전송하면 사용자의 정보를 넘겨줌 4.카카오 서버가 전달해준 데이터, 여기에서는 id값을 받아서 개발자의 DB에 조회 5.db에 id 값이 존재하면 로그인하듯 진행 6.db에 id 값이 존재하지않..
로그인한 사용자가 현재 열려있는 Sheet에서 새로운 글(Board)을 작성하려고한다 즉, 새로운 board를 create 해아한다. 그러려면 어떤 Sheet에서 board를 생성할것인지 Sheet정보를 같이 담아줘야한다 그리고 누가 생성했는지에 대한 현재 로그인한 사용자의 Member정보도 담아줘야한다. @Entity(name = "moneyboard") @Builder @Data @NoArgsConstructor @AllArgsConstructor public class MoneyBoard { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @ManyToOne(fetch = FetchType.EAGER) @JoinCol..
| 삭제하기(Delete) 클릭시 삭제 JS function delBoard(boardId,event){ $.ajax({ type : 'DELETE', // 타입 (get, post, put 등등) url : '/main', // 요청할 서버url dataType : "json", contentType:"application/json", data : JSON.stringify({ id: boardId, }), success : function(result) { // 결과 성공 콜백함수 console.log(result) if (event.target.classList.value == 'content_info_xbox') { if (event.target.parentElement.parentElement...