반응형

IT/development 226

[spring] spring excel download 모듈화 ver 2

목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 공통으로 분리) 목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 체크박스) 목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하 yaga.tistory.com 모듈화 ver 1에서는 화면이 늘어나고 구분자가 늘어남에 따라 ExcelUtil의 static method가 길어진다는 단점이 있어서 불편했다. 그래서 더 고민 끝에 구분자에 따른 시트명, 파일명, 헤더정보를 별도의 파일로 빼기로 했다. 이렇게 되면 파일에 내용만 추가하면 되고 소스는 건드릴 필요가 없게된다. pages.json..

IT/development 2024.01.14

[spring] spring excel download 모듈화 ver 1

목차 아래 포스팅에서 이어진 내용입니다. [spring] spring excel download (feat. 체크박스) 목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하고 엑셀 다운로드 하는 로직 springBoot 2.7.7, jdk 11 version view 엑셀 다운로드 예제 목록 yaga.tistory.com 프로젝트 팀원들이 내가 만든 엑셀 모듈을 그냥 화면에서 호출만 하고 나머지는 신경쓰게 하고 싶지 않았다. 호출하는 쪽에서는 모듈이 어떻게 작동하는지 모르게 만드는 것, 나는 알맞은 조건으로 호출만 하면 되는 것 그래서 고민 끝에 일단 무식하게 아래와 같이 구현했다.(보완 사항이 많은 소스임) 화면에서는 공통 엑셀 컨트롤러의 url 호..

IT/development 2024.01.14

[spring] spring excel download (feat. 체크박스)

목차 화면에서 사용자가 체크한 row의 데이터들만 서버로 보내서 엑셀 다운로드 창을 브라우저에게 띄우게 하고 엑셀 다운로드 하는 로직 springBoot 2.7.7, jdk 11 version view 엑셀 다운로드 예제 목록 체크박스 순번 사원명 직업 kkh 김경호 가수 ljb 박완규 가수 jkh 정경화 가수 엑셀 다운로드 의존성(gradle) // poi implementation 'org.apache.poi:poi:5.1.0'// xls implementation 'org.apache.poi:poi-ooxml:5.1.0'//xlsx Controller(VO버전) 본래 컨트롤러에는 비즈니스 로직이 없어야 하지만 여기선 예시니까 비즈니스 로직 서비스로 빼지 않았다.(귀찮아서) @GetMapping("/..

IT/development 2024.01.13

[IDE] IntelliJ jdk 버전 변경

build.gradle의 컴파일버전이 명시되어 있을 경우 주석처리 해야 함 명시하지 않을 경우 인텔리제이는 제일 높은 jdk 버전을 사용한다고 함 sourceCompatibiliy, targetCompatibliity가 명시된 경우는 협업을 위해서 그런 경우임 A, B, C 3명의 개발자가 협업 프로젝트를 할 경우에 전부 jdk 버전을 강제로 통일하기 위해서 개인 스터디 기록을 메모하는 공간이라 틀린점이 있을 수 있습니다. 틀린 점 있을 경우 댓글 부탁드립니다.

IT/development 2023.12.30

[mybatis] dynamic query template

나중에 내가 사용하기 위해 동적 쿼리 template을 기록한다. AND B.CODE IS NULL AND B.CODE IS NOT NULL AND C.CODE = 'A' AND C.CODE = 'D' AND C.CODE = 'P' AND B.CODE = #{entrprsSeCd} AND A.MBTLNUM LIKE '%' || #{mbtlnum} || '%' AND A.MBER_NM LIKE '%' || #{mberNm} || '%' 위 동적쿼리는 이렇게 작동한다. 를 통해 넘어온 parameter의 조건 일치여부에 따라 AND절을 동적으로 추가 또는 생성 예를 들면 다음과 같다. 1. mberGubun값만 'GNR'인 경우(일반회원만) //SELECT 절 생략 WHERE B.CODE IS NULL(원래..

IT/development 2023.12.24

[jstl] 검색 결과 유지 (feat. 목록 화면)

목차 목록화면에서 검색 조건값을 유지하고 싶을 때 여러 가지 방법이 있겠지만 그 중 매개변수를 이용하는 방법은아래와 같다. 알고보면 참 간단한건데.. 오래되면 까먹는다. 그래서 기록을 한다. 검색 조건은 아래와 같다. 회원종류(체크박스) 회원종류는 불가피하게 하드코딩으로 넣었다. 일반회원 기업회원 전체 가입상태(selextbox) 전체 ${list.codeNm} 회원명(input) 회원명: input 속성을 제외하면 전부 원리는 동일하다. 조건식을 통해 코드값과 매개변수에 담긴 코드값이 일치할 경우만 checked, selected 처리를 한다. 처음 목록 화면을 조회 했을 시에는 매개변수의 코드값에 아무것도 없을테니 아무 액션을 하지 않고 조건 선택 후 검색할 때는 매개변수의 코드값이 있을테니 chec..

IT/development 2023.12.24

[IDE] IntelliJ Spring MVC Project import (feat. maven)

최근 IntelliJ에서 추억의 spring MVC project를 import할 일이 있어 삽질 끝에 성공해서 이를 기록한다. 빌드 툴은 maven이었다. 우선 경험을 토대로 얘기하면 maven 프로젝트에서 필요한 건 src, pom.xml 2개만 있으면 된다. 인텔리제이 실행 후 New > Project from Existing Sources 선택 후 가져올 프로젝트 선택 Import Project에서는 Eclipse 선택된 상태로 그대로 Next(Maven 선택이 아니다.) 프로젝트이름과 경로 확인 후 Next Next로 넘어가고 SDK 선택하는 창에서 사용할 SDK 선택 후 Next Create를 누른다.(버전에 따라 명칭은 다를 수 있음) 그리고 버전에 따라 다를 수 있는데 인텔리제이의 이벤트 ..

IT/development 2023.12.22

[jstl] selectbox 조건과 일치하면 선택값 유지(feat. 상세화면)

간만에 추억의(?) jsp로 화면단을 개발하게 되었고 그 중 jstl에서 많이 쓰는 기능인데 잘 생각이 나질 않아 예전 레거시 코드를 뒤져서 찾았고 다음을 위해 메모를 한다. 상세화면에서 공통코드의 값을 불러와서 selectbox에 뿌리는데 회원 가입상태 코드와 공통코드의 코드가 일치하면 selected하는 경험자들에겐 아주 익숙한 기능이다. ex) 회원테이블에 가입상태코드가 있고 이는 공통코드 테이블의 코드와 매핑이 되는 상황이다. 코드를 보면 이해가 될거다. Controller //Controller내의 모든 view에서 전부 쓸 수 있도록 아래처럼 @ModelAttribute로 선언을 했다. /** 가입상태 목록*/ @ModelAttribute("mberSttusList") private List ..

IT/development 2023.12.22
반응형