본문 바로가기

스프링

스프링부트_JPA_Thymleaf 게시판_페이징_정렬_검색

공통 VO

 

JPA 테이블 네이밍 컬럼네이밍과 맞춰서 VO 생성

@DateTimeFormat : String 타입으로 파라미터로 받을시 파싱문제해결

* ISO옵션 해당 형식으로 파라미터가 String으로 오면 받으줌

Datetime : 2019-01-31T11:30:59.000Z

Date : 2019-01-31

Time :11:30:59.000Z

 

권한사용자매핑 VO 생성

 

검색조건에 따른 JPA 메소드 생성

 

 

권한사용자매핑 JPA 등록

 

서비스구현체1

 

 

서비스구현체2

 

서비스구현체3

 

 

서비스 인터페이스

 

 

컨트롤러는 메소드아규먼트리졸버를 구현한 JPA리졸버에 의해 JPA는 Pageable 객체에 쿼리로 가져온 리스트도 넣고, 페이징 관련 변수들도 가지고 있어 이 객체를 사용하면 편하다.

 

 

컨트롤러1

 

 

컨트롤러2

 

컨트롤러4

 

 

목록

66. th:if : if문과 같다.

66. #list.size : size() 메서드를 호출하는 것과 같다.

66. th:each : for문 변수는 list로 셋팅.

66. content : 컨트롤러 JPA Pageable객체에 넣은 리스트는 content에 담김.

67. th:onclick : thymeleaf 변수 넣기

68. th:value : thymeleaf로 model변수를 value로 셋팅하기 위함

69. th:text : thymeleaf로 model변수를 text로 셋팅하기 위함

75. th:unless : else문과 동일

80. th:href : thymeleaf href 서버명:포트/컨텍스르루트를 포함하기 위해 사용

 

 

목록 페이징

87. th:with : JSTL c:set의 대체자로 보면된다. start, last 변수를 생성한다.

87. start=${T(Math).floor(selectUserList.number/10)*10 + 1} : 시작페이지를 구함

> selectUserList.number : 현재페이지

> Math.floor : 반올림 즉 1~9페이지까지는 시작값이 1이 나옴

87. last 마지막 페이지를 구함. 토탈 페이지보다 작으면 +9, 토탈페이지보다 크면 토탈

 

 

목록 검색조건

 

목록자바스크립트

 

상세보기 화면

1. 날짜형식

2. 값이 없을 때 - qusghks

3. 페이지 이동을 위한 form

 

상세보기 자바스크립트

 

 

수정페이지

 

 

수정페이지 자바스크립트

 

등록페이지 화면

 

 

등록페이지 자바스크립트

'스프링' 카테고리의 다른 글

context- idgen 시퀀스 생성기 개발해보기  (2) 2020.12.26
Thymleaf문법  (0) 2020.12.25
JPA_SQL메소드 작성_page변수  (0) 2020.12.23
JPA_thymleaf문법_페이징 게시판  (0) 2020.12.22
[JPA] 테이블 관계 매핑  (0) 2020.12.17