분류 전체보기 (49) 썸네일형 리스트형 jsp를 팝업으로 띄우기 (파라미터에 특수 문자가 들어갈 때) list.jsp 에서 하나의 게시물에 대한 상세페이지 view.jsp를 팝업으로 띄워야했다. 해당 게시물을 조회하기 위한 key값을 get 방식으로 요청하려고 했더니 특수문자가 들어가서 에러가 났다. 그래서 encodeURI 함수를 통해 URI로 인코딩된 문자열을 파라미터로 넣어주니 정상적으로 동작했다. function popup(id){ let url = "/view.do?id=" + id; let enc = encodeURI(url); window.open(enc,"팝업","width=1500,height=1200"); } 재귀함수를 이용하여 json을 계층형으로 변환하기 트리맵 라이브러리에 데이터를 계층형으로 넣어야해서 찾아본 방법이다. function fnTransferJson(arr, code) { var out = []; for (var i in arr) { if (arr[i].upprCode == upprCode) { var children = fnTransferJson(arr, arr[i].code); if (children.length) { arr[i].children = children; } out.push(arr[i]); } } return out; } 파일 업/다운로드 기능 구현 1. 업로드 먼저 파일 업로드를 위한 환경을 추가해주어야 한다. 1) pom.xml 에 의존성을 추가한다. commons-io commons-io 1.3.1 commons-fileupload commons-fileupload 1.2.1 2) spring config xml 파일에 bean을 등록한다. 다음은 실제 파일을 업로드하는 페이지 코드를 작성한다. form 태그의 인코딩 타입을 multipart/form-data 로 지정해주는 것이 중요하다. 복수 파일을 업로드해야 하는 경우에는 하나의 input 태그에 여러개를 선택할 수도 있지만 이번에는 input 태그를 여러개 추가되도록 했다. 그리고 자바단의 코드를 작성한다. public void upload(MultipartHttpServletReques.. select box 플러그인 Select2 select box의 옵션 항목을 검색할 수 있는 기능을 제공하는 플러그인으로 select2를 사용해 보았다. 1. 먼저 공식 홈페이지에서 js, css 파일을 다운로드하여 직접 스크립트를 추가해 주었다. https://select2.org/ Getting Started | Select2 - The jQuery replacement for select boxes Select2 The jQuery replacement for select boxes Select2 gives you a customizable select box with support for searching, tagging, remote data sets, infinite scrolling, and many other highly used .. [ORACLE] 계층형 쿼리에서 계층별 누적 합계 구하기 (두 테이블의 JOIN이 필요할 때) 단일 테이블인 경우에는 아래와 같이 서브쿼리를 사용하여 누적합계를 구할 수 있다. SELECT CODE, UPPER_CODE, CNT, (SELECT SUM(CNT) FROM TABLE1 I START WITH I.CODE = T.CODE CONNECT BY PRIOR CODE = UPPER_CODE)SUM FROM TABLE1 T START WITH UPPER_CODE = 'ROOT' CONNECT BY PRIOR CODE = UPPER_CODE 하지만 나의 경우 계층 구조로 되어 있는 카테고리 테이블과 각 카테고리별 데이터가 저장되는 테이블이 따로 존재해서 다른 방법을 찾아야 했다. 구글링하여 찾은 결과.. WITH 절을 사용하여 임시테이블로 만들면 가능했다. WITH GROUPED (CODE, UP.. 티스토리 코드블럭에 원하는 언어가 없을 때(highlight) 코드블럭 삽입 창에 내가 원하는 언어가 없을 때 기본모드에서 html 모드로 바꾼 뒤 해당 코드블럭의 class를 수정해주면 된다. class 명은 아래 주소에서 찾기 https://github.com/highlightjs/highlight.js/blob/main/SUPPORTED_LANGUAGES.md GitHub - highlightjs/highlight.js: JavaScript syntax highlighter with language auto-detection and zero dependencies. JavaScript syntax highlighter with language auto-detection and zero dependencies. - GitHub - highlightjs/highl.. table 요소를 컨트롤하는 방법들 갈무리 테이블 검색창에 키워드 입력 즉시 검색어가 포함된 행만 표출하기 $("#searchbox").keyup(function(){ var searchText = $(this).val(); $("#table > tbody > tr").hide(); var keyword = $("#table > tbody > tr > td:contains('"+ searchText +"')"); $(keyword).parent().show(); }); 테이블 요소 클릭 시 수정할 수 있도록 입력창으로 표출하기 $("#table tbody").on('click', 'td:nth-child(5)', function (e) { if($(this).children("input").length > 0) return false; var t.. [MyBatis] foreach문을 사용하여 배열을 insert 하기 ArrayList 타입의 배열 파라미터를 insert 할 경우, INSERT INTO DATA(NO, A, B, C) VALUES (#{index}, #{item.A}, #{item.B}, #{item.C}) 위와 같이 반복구문이 필요한 부분에 foreach문을 작성해준다. collection : 전달받은 인자. List 혹은 Array 만 가능 item : 전달받은 인자 값의 alias open : 구문이 시작될때 삽입할 문자열 close : 구문이 종료될때 삽입할 문자열 separator : 반복 되는 구문 사이에 출력할 문자열 index : 0부터 순차적으로 증가 예시는 mysql 쿼리이며 다중 insert를 아래 형태로 실행할 수 있다. INSERT INTO 테이블명 (컬럼1, 컬럼2) VALUE.. 이전 1 ··· 3 4 5 6 7 다음