Languages/Java
[Spring] Multiple Pagination / 멀티페이징, 더블페이징
파이널 프로젝트를 진행하면서 Multiple pagination in one page, 즉 한 페이지 내에서 더블 페이징 처리를 해야 할 일이 생겼다. 조금 찾아보니 과거에는 iFrame을 이용했지만 현재는 접근성에 위반되어 사용하지 않는다고. 생각해 보면 장바구니에서 선택한 상품만 하단의 구매리스트에 뿅뿅 뜨게 하는 걸 어디서 보았던것도 같고, 실무에서도 많이 쓰지 않을까? 라는 생각이 들어 시간이 촉박했지만 매달려서 구현한 부분이다. js파트가 영 맘에 안 드는데 조만간 포트폴리오를 정리한 후에 코드 정리가 좀 필요할 것 같다. 중복되는 소스가 너무 많아서... (._. 마음이 불편하다. 잘 정리하면 한 페이지에서 여러개의 페이징처리를 해도 코드가 많이 늘어나지 않도록 할 수 있을 것 같다. [Vie..
List의 요소 제거에 람다식 적용 removeIf()
List요소를 받아오는데 앞단에서 input 3개를 무조건 받아오게 되어있어서 1개나 2개만 받아오면 null포인터 익셉션이 떴다. 컨트롤러에서 삭제해주려고 했더니 ConcurrentModificationException이 뜨는 것. 이 익셉션은 이미 다른 파트에서 경험해 본 적이 있는데, 자바의 정책 중 fail-fast라는 정책이라고 한다. 당시 iterator를 사용하여 remove()한 적이 있는데 이번엔 NoSuchElement라고 뜨면서 그게 안 먹히는 것. 엘리먼트가 널값이라 그런게 아닐까 추측. 방법을 좀 더 찾아보다가 JAVA 1.8부터 적용된다는 람다식을 이용한 분이 있길래 따라해보았다. 코드도 간단하고 결과도 잘 나왔다. 넘 좋다.ㅠ_ㅠ //포지션 등록 승인 요청, 임시저장 @Requ..
[eclipse] 에러 org.springframework.beans.NotWritablePropertyException: Invalid property 'pdService' of bean class [com.pd.controller.PdWriteController]: Bean property 'pdService' is not writable or has an invalid setter method. Did you mean 'pdSerivce'?
보통 Controller 파일 내에서 선언한 pdService객체의 이름과 빈에 작성한 아이디값이 다를 때 생기는 오류. 근데 다 봐도 진짜 오타 잡기 힘들다 이건... 심각: Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'pdWriteController' defined in ServletContext resource [/WEB-INF/dispatcher-servlet.xml]: Error setting property values; nested exception is org.springframework.beans.NotWritableProp..
[eclipse] 500에러 - java.lang.IllegalStateException: Optional int parameter 'no' is not present but cannot be translated into a null value
@RequestParam에 int값이 오는 경우에, url에서 null값인 상태로 들어오면 나타나는 에러. 예를 들어 /com? 으로 끝나면 이런 상태가 된다. 간단하게는 dafaultValue="0"으로 막을 수 있다. 만약 ?no= 까지만 끊긴다면 ?뒤를 split해서 length가 4보다 작은 경우를 따져서 분기처리할 수 있겠다. java.lang.IllegalStateException: Optional int parameter 'no' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the..
[eclipse] 폴더명 변경 후 404, 500오류가 무작위로 떨어질 때
처음에는 경로를 /movie/movieDetail.jsp 로 설정했는데, movie폴더명이 너무 일반적인 것 같아서 폴더명을 movieDetail로 바꾸었다. 그러면 커맨드 매핑 명령어를 /movieDetail/movieDetail.do 로 받아야 하는데 초반에 오류날 땐 자꾸 이전 이름인 /movie/movieDetail.do로 찾는 것. 이클립스 프로젝트 클린도 해보고, 서버 클린도 해보고, 크롬 캐시도 삭제해 보았으나 오류 내용만 이리저리 바뀔 뿐 해결되지 않았다. 웹서핑을 에러메시지로 해보아도 해결책이 딱히 없어서 국비과정 선생님에게 여쭈었더니 이클립스 버그 중 하나라고 하셨다. 웬만하면 폴더명같은거 바꾸지 말라고.. 인식을 못 해서 생긴 에러면 그냥 프로젝트 다시 파라고 하셨음. 혹시 다른 해결..
[eclipse] 오픈 API를 사용할 때 setting.xml파일이 필요한 경우
이클립스로 세미 팀프로젝트를 진행하게 되었는데, 오픈 API를 찾다 찾다 해외 영화 DB 사이트까지 들어가게 되었다. 해외 사이트다보니 영화코드같은 걸 공유하긴 어려울 수도 있겠지만 어쨌든 포스터 이미지를 끌어올 수 있을까 해서 연구를 시작했다. API중 하나를 사용하려고 보니까 pom.xml에 dependency를 추가해줘야 한다고 하길래 추가했다. 그러나 추가하는 순간 떠버리는 빨간색 밑줄. 빨간 줄... 다시 보니까, github의 README에 dependency를 jcenter라는 사이트를 통해서 삽입하라고 했는데 나는 그냥 복붙해버린 것... 그리고 jcenter의 repository를 삽입한 적 없다면 jcenter의 셋업부터 보라고 나와 있었다. 이클립스 사용 시 Maven 프로젝트로 설정..
[JAVA] 미니 프로젝트를 하는 도중 느낀점, 궁금한 점
1. 개발할 때 중구난방으로 이 페이지 했다가 저 페이지 했다가 하지 말고 한 페이지씩 차근차근히 정복해나가야겠단 생각을 했다. 이번엔 A페이지 함수 구현하다가 B페이지 함수 구현하다가 하면서 좀 뒤죽박죽으로 했는데... 근데 그래서 후반부에 좀 편하게 하게 된 부분도 있음. 이미 함수가 다 만들어져 있어서 그냥 갖다 쓸 수 있었다. 그러나 개발 현황을 파악하기엔 어렵다. 내가 얼마나 했는지도 파악이 안 되고, 프로젝트 규모도 제대로 파악 못한 거 같음. 엄청 많이 남은 거 같았는데 생각보다 얼마 안 남았나 싶기도 하다가 또 다시 허걱 하고 두다다다 달리고... 좀 별로다 이건. 2. 예외처리를 언제 try catch구문으로 처리해줘야 하는 걸까? 라는 궁금증이 생겼다. 지금 발생하는 예외는 SQLEXC..
CSV File 읽어오기. File, BufferedReader
경마게임 코드를 작성하다가 저장된 데이터를 불러오는 기능이 있어야만 한다는 걸 깨닫게 되었다. 매번 유저정보 말정보 새로 입력할 수 없어.. 너무 번거로워... 처음엔 sharedPreference에 대해 좀 알아봤는데 이건 안드로이드 스튜디오에서 사용하는 기능인 것 같아서 일단 패스.. 무엇보다 꽤 오래 서칭했는데도 내가 사용하기에 적절한 레퍼런스를 찾지 못했다. 그러고서 Mysql이니 JQuery니 하는 것들 속에서 헤매다가.. 개발자 언니가 던져준 "텍스트 파일에 CSV로 저장하고 읽어"에서 실마리를 찾게 되었다. 이건 그래도 검색해보니 뭔가 내가 쓸 수 있을 것 같았음 1. 활용한 코드 부분 (201003ver) User u = new User(); MyHorse h = new MyHorse();..
무한 중첩 폴더 삭제하기 (nested folder) / 날려먹은 JAVA소스코드 디컴파일해서 복구하기
나의 문송한 손가락이 이클립스를 도대체 어떻게 다룬 건지, 워크스페이스 폴더가 조금씩 꼬이기 시작하더니 나중엔 말도 안 되게 꼬여갔다. 이런저런 만행을 벌이던 중 한 번 '잘못 건드렸다'는 생각이 든 적이 있었는데, 그 때 렉이 버버벅 걸렸던 것이 아마 그 시점에 무한 중첩 폴더를 생성하게 된 것 같다. 추측일 뿐이지만. (이 시점까진 이런 폴더가 생긴 줄도 몰랐다) 프로젝트 폴더가 꼬이고, 꼬이고, 꼬여서 도저히 안되겠다는 생각이 들어서 과감하게 이클립스와 자바를 재설치하기로 결정했다. [이클립스 제거 시 삭제해줘야 하는 폴더 목록] .eclipse .p2 eclipse eclipse-workplace 위 네 폴더를 삭제해주면 된다는데 여기부터 문제가 발생. 내 컴퓨터엔 대체 아래 2개 폴더가 어디 있..
Eclipse에서 JAVA Project import시 existing or corrupted 오류 날 때 프로젝트 디렉토리 재설정하는 방법
1. 이전 프로젝트 폴더를 별도로 저장 후 기존 디렉토리에서는 삭제 2. import -> General -> exsisting project -> 별도 저장된 위치 선택 후 copy to workplace 체크하여 finish