본문 바로가기

반응형
   

Programming/Java

(43)
리스트 DTO 타임리프로 출력하는 방법 리스트 DTO 타임리프로 출력하는 방법 개인적으로 사이트를 하나 만들고 있는데 예제가 있으면 좋을 것 같다는 생각에 글을 작성하게 되었습니다. 타임리프를 활용해 리스트 dto를 가져와 타임리프로 출력하는 간단한 예제를 작성해 보았습니다. 데이터 시나리오는 사용자가 구매한 물품이 여러 개 있다는 가정하에 User DTO에서 Goods DTO를 List로 가져와 타임리프로 데이터를 출력하려고 합니다. 담긴 데이터는 DB 데이터까지 가져오는 것은 너무 복잡하다는 생각에 임의로 데이터를 넣어 출력 하였습니다. User.Java 먼저 User라는 클래스를 하나 만들었습니다. 별다른 기능은 없으며 데이터를 넣고 가져오기 위해 get, set만 추가하였으며 Goods dto 데이터를 여러 개 가져오기 위해 Goods..
이클립스 소스 파일 불러오는 게 너무 느릴 때 이클립스 소스 파일 불러오는 게 너무 느릴 때 이클립스에서 특정 소스 파일을 불러올 땐 엄청난 소스 코드로 인해 파일 하나를 불러오는 데 시간이 오래 걸리거나 심한 경우 이클립스 프로그램이 죽어버리는 경우가 많이 생기는 것 같습니다. 이런 경우엔 굳이 이클립스에서 소스를 수정하려고 시간을 허비하지 않으셔도 됩니다. 이럴 땐 원시적인 방법으로 해결하면 됩니다. 문제가 되는 소스 파일을 마우스 오른쪽 버튼으로 선택하시고 Properties 메뉴를 선택하시면 됩니다. 해당 소스 코드가 있는 폴더를 바로 열어주는 메뉴가 존재 합니다. 이클립스 같이 무거운 프로그램이 아닌 가벼운 에디트 프로그램을 활용해 문제가 되었던 소스 파일을 열어 주세요. 가벼운 에디트 프로그램에서 소스 코드를 수정하면 로딩이 걸리거나 프로..
thymeleaf th with 조건문 넣기 thymeleaf th with 조건문 넣기 최근 스프링4 버전에서 개인 웹 프로젝트를 진행하고 있습니다. 타임리프 th:with 구문을 활용해 변수를 만들 때 조건문을 걸어 겟 파라메터값에 따라 변수를 다르게 할당할 수 있습니다. 간단한 내용이지만 인터넷에 자료가 많이 없는 것 같아 정리해 보았습니다. 대체로 첫 페이지를 웹페이지에서 호출할 때 스프링 컨트롤러에서 데이터를 보내주거나 Javascript를 이용하는 방법도 있겠지만 깔끔해 보이지는 않습니다. 타임리프를 활용해 아래 이미지와 같이 겟 파라메터값이 없는 경우에 html 데이터를 다르게 표시할 수 있습니다. 겟 파라메터 값이 있을 경우엔 아래 이미지와 같이 URL에 담긴 겟 데이터가 표시됩니다. th:with 구문에 삼항 연산자를 이용해 변수 ..
스프링부트 마이바티스 설정 Field mapper 오류가 난다면 확인해 보세요 스프링부트 마이바티스 설정 Field mapper 오류가 난다면 확인해 보세요 개인 취미 생활로 스프링부트 환경에서 사이트를 만들고 있습니다. mybatis를 연동해 데이터베이스에 있는 데이터를 가져오려고 했는데 아래 이미지와 같이 Field mapper in required a bean of type that could not be found. Consider defining a bean of type in your configuration. 라는 오류가 나며 구동이 제대로 안 되더군요. 이 오류 때문에 꽤 긴 시간을 허비했습니다. 문제는 새로운 스프링부트 버전 build.gradle 설정 MyBatis 버전을 3.0 이하 버전을 사용해 겪었던 문제였습니다. 스프링 버전에 맞추어 Mybatis 버전도 ..
JAVA 스프링 세팅하기 Spring Legacy Project 만들기 JAVA 스프링 세팅하기 Spring Legacy Project 만들기 JAVA 언어를 사용해 예제를 몇 개 만들어 보고자 오랜만에 스프링 세팅을 시작했습니다. 스프링 최신 버전을 보니 Spring4 버전이었으나 익숙한 스프링3로 세팅을 진행하려고 했습니다. 가볍게 생각하고 시작했으나 버전이 바뀌면서 스프링4 버전에서 Spring Legacy Project로 프로젝트를 만드는 것을 전 실패 했습니다. 전 스프링4 버전에선 Spring Legacy Project로 만들 수 없어 버전을 낮춰 세팅에 필요한 파일을 준비했습니다. 시간을 보내며 여러 가지 방법을 시도 했지만, 실패했습니다. 자바 스프링 이클립스 세팅은 버전 호환성에 매우 민감하며 지원하지 않는 버전을 억지로 맞춰서 진행하지 않으시길 추천해 드리..
Java Swing 로그인 이후 새창 열기 Java Swing 로그인 이후 새창 열기 이전에 https://zzarungna.com/1275(로그인), https://zzarungna.com/1276(회원가입),https://zzarungna.com/1608(로그인, 회원가입 합체) 소스를 가져와 합치는 예제까지 작성한 적이 있습니다. 이전에 작성했던 내용 중 폴더나 파일이 없을 때 에러나지 않도록 폴더와 파일도 자동으로 만들어 지도록 소스 코드를 수정, 개선하였으며 로그인이 완료된 이후 새로운 창을 띄우는 내용도 추가하였습니다. 아이디 찾기와 비밀번호 찾기 기능은 아직 없으며 혹시라도 필요하신 분들이 있다면 나머지 기능이나 필요한 것들이 있다면 얘기해 주시면 기능을 추가하도록 하겠습니다. 소스 코드를 받아 실행 하시면 이전과 프로그램 기능은 같..
JAVA 회원가입부터 로그인까지 SWING 예제 JAVA 회원가입부터 로그인까지 SWING 예제 이전에 작성한 https://zzarungna.com/1275(로그인), https://zzarungna.com/1276(회원가입) 소스를 그대로 가져와 합치는 예제를 만들어 보았습니다. 프로그램은 자바 프로젝트 Hello라는 이름으로 만들었으며 회원가입은 SignUp.java, 로그인 구현은 SwingLogin.java로 만들었습니다. 먼저 이전에 작성했던 소스를 그대로 가져와 확장하는 방식으로 회원가입과 로그인 기능을 연결했습니다. 실행된 프로그램 화면에서 회원가입 버튼을 추가했으며 레이아웃 구조를 변경하고 싶지 않아 비밀번호 찾기 버튼까지 추가했습니다. 회원가입 버튼을 누르게 되면 이전에 작성한 회원가입 창이 표시되게 되며 이곳에 iloveyou라는 ..
Java Interceptor resources 및 특정 경로를 소스에서 제외하는 방법(스프링 버전 3.1.1) Java Interceptor resources 및 특정 경로를 소스에서 제외하는 방법(스프링 버전 3.1.1) 최근에 Java 언어를 이용해 Spring 환경에서 웹페이지 기능을 만들고 있습니다. 사이트 기능 중 필요했던 기능이 로그인한 사용자만 페이지를 이용할 수 있도록 하기 위해 정보를 찾아보니 Interceptor를 활용하면 페이지 단위별로 작업을 하지 않아도 한 방에 해결할 수 있을 것 같았습니다. Spring 프레임워크 버전별로 환경 구성이 다르기에 정보를 검색하는 것을 참고할 수 있었으나 저와 비슷한 환경에 대한 글은 대체로 많이 없었고 예외 사항도 꽤 있었던 것 같습니다. Interceptor를 사용하기 위해서는 설정이 필요했습니다. WEB-INF/spring/servlet-context...

반응형