본문 바로가기

※/공부

화면에서 엑셀(xlsx) export하기 예전 프로젝트에서 화면에 있는 상태 그대로 엑셀을 export해야하는 화면이 있었다.db에서 조회해서 뿌리긴하나 사용자가 화면에서 데이터를 변경하고 서버에 저장하지 않은 상태로 엑셀을 export하는 기능이 필요했었다. 그래서 구글링을 한 결과 table2excel라는 플러그인을 발견했다.사용법이 간단해서 빠르게 페이지에 붙일 수 있었다.그러나 단점이 있었다. xlsx확장자를 지원하지 않는다. 사실 xls확장자로 export해도 크게 문제는 없다.하지만 xls확장자로 export하면 파일을 열었을때, 안전하지않을 수도 있다는 등의 알림창이 뜬다.무시하고 닫으면 되지만 은근 귀찮고 신경쓰인다. table2excel 스크립트를 뒤져보니 xlsx확장자로 export해주는 부분은 없었고인터넷을 뒤져보니 xlsx.. 더보기
jqGrid 페이징 예제 그리드를 사용하면 빠질 수 없는 페이징 맨날하면서 맨날 까먹기때문에 정리 해놓는다. html 영역12cs javascript 영역123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566$("#jqGrid").jqGrid({ url: '/services/data/dataList', mtype: "GET", styleUI : 'Bootstrap', datatype: "json", jsonReader: { root : "rows", // list 이름 page : "page", records: "records", total : "total" }, .. 더보기
스프링 시큐리티(Spring Security) 접근 권한 체크 각 화면에 접근할때, 권한에 따라 접근 여부를 판단해야 할 때가 있다. 이미 화면 진입 시 권한에 따라 메뉴를 그리긴하지만 그래도 마음이 편치않다. 그래서 메뉴 아이디와 로그인한 유저의 아이디로 접근 가능여부를 체크하기로 결심 123456789101112//공통코드 관리@PreAuthorize("@menuService.accessCheck(#userDetails.getUsername(), #menuId)")@GetMapping("/common/code")public String commonCode(Map model, @RequestParam(value = "menuId", defaultValue = "") int menuId, @AuthenticationPrincipal UserDetails userDe.. 더보기
타임리프(thymeleaf) 속성 정리 지금까지 프로젝트하면서 사용한 부분을 정리해본다. 계속 추가될 예정 th:value (값 넣기)1cs th:text (텍스트 넣기)1cs th:attr (속성 추가)12345 허용 여부 예 아니오 cs th:classappend (클래스 추가)123 ....생략.... 더보기
타임리프(thymeleaf) javascript 변수 사용 form에서 사용하는 데이터라면 input에 담긴 데이터를 javascript에서 접근해서 사용하면 된다.html 영역1 javascript 영역1var dataId = $("#dataId").val(); 하지만 서버단에서 받아온 데이터를 바로 자바스크립트 변수에 넣어서 사용하고 싶을때가 있다. 굳이 form에서 넘기는 데이터도 아닌데 input에 담고...접근하고...아주 귀찮다.그래서 검색해보았더니 나온 것이 이것.html 영역12345 /* var dataId = /*[[${dataInfo.getDataId()}]]*/; /* ]]> */ JSTL에 비해 상당히 붙는 것이 많다. 보기 불편하지만 나쁘지않다. 더보기