Dev 88

#ids.seq 사용하기 ( feat. prev 와 next )

th:each 사용시 내부에서 ids.seq 를 사용하면 index(ID count) 처리를 할 수 있다. 이 때 index 는 1 부터 시작한다. prev  each 문에 의해 loop 를 돌 때마다 index 값은 1개씩 증가하는데, prev 는 바로 이전에 해당하는 index 값이 반환 됨을 알 수 있다. 이 때 주의 해야할 점은 객체를 사용하지 않으면 index 는 생성되지 않는다. 따라서 객체를 사용하지 않았는데 prev 를 쓴다면 다음과 같은 예외가 발생한다. org.attoparser.ParseException: Cannot obtain previous ID count for ID 간단한 예제를 들어보자. 위 코드에서 materialsId 라는 객체가 input 에서 먼저 사용되었기 때문에..

Dev/Thymleaf 2024.02.26

RedirectAttributes 사용시 java.lang.IllegalArgumentException: Model has no value for key 오류 해결하기

페이지가 redirect 될 때 값을 함께 전달하고 싶어서 RedirectAttributes 를 사용해서 구현했는데 java.lang.IllegalArgumentException: Model has no value for key 오류가 발생했다. redirectAttributes.addFlashAttribute("getWaterMount", waterMount); "redirect:/recipe/spec/{recipeId}" 이게 문제가 되던 코드인데 redirectAttributes.addFlashAttribute("getWaterMount", waterMount); "redirect:/recipe/spec/" + waterMount.getRecipeId(); 로 변경해서 오류를 해결 했다.

Dev/Springboot 2024.02.25

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name '...' available as request attribute 오류 해결 방법

springboot 환경에서 Controller 에서 html 페이지 연결 도중 제목과 같은 오류가 발생했다. 원인은 다음과 같다. ModelAttribute 가 호출하는 Controller 에 존재하지 않을 경우 @ModelAttribute 애노테이션 뒤에 띄어쓰기를 하지 않음 각각 ModelAttribute 를 추가하고 띄어쓰기 확인 후 정상적으로 실행 되는 것을 확인 할 수 있었다.

Dev/Springboot 2024.02.25

개인프로젝트_Ukmedicine_3

이전 포스팅은 여기로 2024.02.20 - [개발/project] - 개인프로젝트_UKmedicine_2 개인프로젝트_UKmedicine_2 이전 포스팅은 여기로 2023.12.11 - [개발/project] - 개인프로젝트_UKmedicine_1 개인프로젝트_UKmedicine_1 요구 사항 회사에서 일할때도 느꼈던거지만 사실 기능을 구현하고 만드는것 보다는 고객의 요청 zigo-autumn.tistory.com 개발환경 Os : MacOs 13.4 IDE : intelliJ IDEA Edu FrameWork : springboot 3.2.2 / jpa / thymeleaf Launguage java 17 DB : MariaDB 11.2.2 DB tool : DBeaver 23.3.0 FrontEn..

Dev/Toy Project 2024.02.25

build.gradle 에서 lombok 버전 충돌 오류 ( feat. java 17 사용 )

개발환경 IDE : intelliJ FrameWork : springboot 3.2.2 Launguage java 17 DB : h2 자바 8을 사용하다가 ( 새로 패키지를 만들기 귀찮아서 기존에 쓰던 패키지 설정 파일을 복붙했더니 ) 17로 업그레이드 하는 과정에서 아래 오류가 발생했다. java.lang.IllegalAccessError: class lombok.javac.apt.LombokProcessor (in unnamed module @0x7d419a17) cannot access class cohttp://m.sun.tools.javac.processing.JavacProcessingEnvironment (in module jdk.compiler) because module jdk.compi..

Dev/Springboot 2024.02.20

개인프로젝트_UKmedicine_2

이전 포스팅은 여기로 2023.12.11 - [개발/project] - 개인프로젝트_UKmedicine_1 개인프로젝트_UKmedicine_1 요구 사항 회사에서 일할때도 느꼈던거지만 사실 기능을 구현하고 만드는것 보다는 고객의 요청사항을 파악하고 그것을 구체화 하는것이 가장 중요하다. 아무리 개발 실력이 좋아도 무엇을 어 zigo-autumn.tistory.com 개발환경 Os : MacOs 13.4 IDE : intelliJ IDEA Edu FrameWork : springboot 3.2.2 / jpa / thymeleaf Launguage java 17 DB : MariaDB 11.2.2 DB tool : DBeaver 23.3.0 FrontEnd Design : Bootstrap 5.3.2 Gi..

Dev/Toy Project 2024.02.20

JPQL 의 개념과 간단한 사용 방법 ( 2 / 2 )

이전 포스팅에서 이어집니다. 2024.02.17 - [개발/jpa] - JPQL의 개념과 간단한 사용 방법 ( 1 / 2 ) JPQL 의 개념과 간단한 사용 방법 ( 1 / 2 ) 게시글을 하나로 통합할까 하다가, 이론적인 부분과 실제 사용하는 구문을 분리하는 게 좋겠다는 생각이 들어서 두 개로 나눴다. 이 게시글은 JPQL 의 개념에 대한 내용이 주가 되었으니 참고 바 zigo-autumn.tistory.com 4. JPQL 에서의 페이징은 어떨까? JPA 에서 페이징은 setFirstResult(in statPosition )과 setMaxResults(int maxResult)로 추상화할 수 있다. 각각의 API 의미는 다음과 같다. setFirstResult(int startPosition) ..

Dev/JPA 2024.02.17