괴발개발/Spring Framework 62

jsp와 게시판 코드 하나로 여러 게시판 만들기

방법1 : get방식을 이용해 url에서 직접 매개변수의 값을 설정해서 게시판으로 이동하는 방법 조건 : 모든 화면jsp파일을 동일하게 써야 할 것. 구조가 다르다면 방법2를 써야 함. 1-1. ?객체명.변수명=원하는게시판값 게시판 경로로 이동하는 메뉴바(네비nav)에서 해당 경로에 ?객체명.변수명=원하는게시판값 을 넣어준다. 컨트롤러에서 사용하는 Criteria 클래스의 객체 cri에는 이미 게시판종류에 대한 변수가 선언되어있음. + addObject를 이용해서 cri의 값을보내서 화면을 페이지에 맞춰 띄워주기 @GetMapping("/list") public ModelAndView boardListGet(ModelAndView mv, Criteria cri) { if(cri.getBoardType()..

템플릿 적용 시, 주의(mapping에 주소가 있는데 "/경로명/*)

servlet-context보면 mapping에 주소가 있는데 "/admin/*" 이랑 "/admin/**/" 이랑 차이 - /admin/* 은 뒤에 딱 하나만 오는 경우로서 /admin/afdsaf 이나 /admin/dsfdsf 와같이 두개로만 연결되어있는 - /admin/**/은 /admin/dasfdsfa 도 가능하고 그 뒤에 두개도 가능함 /admin/dsfad/adfdasf뿐만아니라, 세개 네개 등등 여러개가 올 수 있다는 의미

console.log(data)에서 data변수에 실어준 값 object로 실제값 찍히지 않음

console.log("data: "+data); 이렇게찍으면 {object object} 이런식으로 콘솔에 찍혀나오고, 실제로 data에 넣은 내가 원하는 변수들의 값이 나오질 않는 문제가 있음. 문제원인 (무슨 값인지 확인하기위해서 앞에 "data: " 를 적어놓은것이 문제가되어 )문자열이랑 섞여있어서 값이 찍혀나오지 않는 것. 해결방법 문자열빼고 순수출력하려는 변수명 console.log(data )만쓰면 => 값이 잘 찍혀서 나옴

pagination 페이지네이션

-Criteria에있는 멤버변수에 맞춰서 jsp에 url에 넣어줄 게시판타입을 넣어주는 것. (DB기준은 아니고, DB에있는 게시판타입속성명과 크리터리아에있는 게시판타입명을 꼭 맞춰줄 필요는 없음) 예를들어, 게시판 종류에 대한 DB에서 속성명이 board_type이고 Criteria 클래스에있는 게시판 종류에 대한 변수명이 boardType => jsp에서 mv.addObject("type", "/notice"); 이런식으로 /{type}board/list은 type을 notice/로 해줌 => mv.addObject("type", "notice/"); 이런식으로 mv.addObject("type", "/notice"); 이렇게 사용하고싶다면 jsp에서 ${type}/board/list로 바꾸면 이외로..

jQuery.Deferred exception : $.ajax is not a fuction TypeError : $.ajax is not a function 에러 해결방법

부트스트랩버전5를 사용하면서 써머노트를 이용해서 게시판 내용에 이미지를 추가할때, 용량을 좀 줄이려고 에이젝스를 쓰면, 개발자도구에 다음과 같은 문구가 뜸. => jQuery.Deferred exception : $.ajax is not a fuction TypeError : $.ajax is not a function .. 더불어, 아까까지만해도 됐던 이미지가 input창에 들어가던게 안됨. 아무리 이미지를 업로드 insert 이런걸 눌러도 보이지가 않고 이미지 입력이 안되는 문제가 생김 아직까지는 써머노트에서 부트스트랩 버전4까지만 지원하고있는 관계로 lite버전을 써야했는데, slim이 들어가면 ajax로 이미지 업로드하는걸 지원해주지 않나봄. 위에있는 코드를 아래의 코드로 바꿔주면 됨. 추가로 주..

DB_mapper(insert 와 update 의 차이)

insert 쿼리문 insert into 테이블명 (속성명1, 속셩명2, ...) values(속성값1, 속성값2, ...); => DB에 입력된 속성의 순서와 상관없이 위에 나열한 속성명의 차례에 맞게 속성값을 넣어주면 됨 => DB에서 제약사항이 없는 null허용인 것들이나 AI 또는 default값이 있으면 속성값입력을 생략해도 됨. insert into 테이블명 values( 속성값1,속성값2, ... , ...); => DB에 입력된 속성의 순서와 똑같은 차례로 속성값을 넣어줘야 함 => 제약사항과 상관없이 DB순서에 똑같이 넣어야하기때문에 속성값생략이 불가능하기에 0/빈칸/null이라도 (제약사항피해서)넣어야 함 Mysql에서 쓸때는 속성값1이 ${값}이지만 mapper.xml에서는 #{값} ..

DB에 option태그나 value값이 있는 태그의 한글 값 넣는 방법

1. option태그 같은 경우, value속성을 따로 쓰지않으면 입력된 값이 value가 되어서 DB에 직접 넣을 수 있음. jsp파일에 있는 option태그 카테고리 정보공유 상담/질문 사담 업데이트 알림 시험안내 *카테고리선택안했을때, 모달창띄우기위한 조건때문에 카테고리는 value를 0을 줌 2. VO파일에서 메서드를 이용해서 한글로 변환시키고 mapper로 값을 이동시키게 하기 2-1. VO의 코드에 아래와 같은 메서드를 추가 public String getCategoryValue() { if(board_category.equals("1")) { return "정보공유"; }else if(board_category.equals("2")) { return "상담/질문"; }else if(board..

게시글 상세보기: 파일다운로드

jsp파일에서 a태그 href의 다운로드 링크주소 /경로쓸거다쓰고/filename?${파일의경로가다들어있는파일이름} *원래 업로드당시의 파일이름을 쓰면 안됨. 다운로드시 주소를 못찾아 컨트롤러 코드 @Override public ResponseEntity downloadFile(String fileName) throws IOException { InputStream in = null; ResponseEntity entity = null; try{ HttpHeaders headers = new HttpHeaders(); in = new FileInputStream(uploadPath+fileName); fileName = fileName.substring(fileName.indexOf("_")+1); he..