Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Hibernate
- JQuery
- jQueryUI
- 스프링데이터흐름
- fetchjoin
- 대량쿼리
- 페이징
- paging
- 벌크연산
- 제너릭
- 자바서블릿
- namedQuery
- fullcalendar
- 프로젝트생성
- jscalendar
- JPQL
- joinfetch
- javascriptcalendar
- jQuery값전송
- javaservlet
- 제네릭
- jQuery값전달
- values()
- Generic
- JPA
- 엔티티직접사용
- springflow
- calendar
- 페치조인
- LIST
Archives
- Today
- Total
가자공부하러!
뷰(form)에 입력한 많은 데이터를 List 타입으로 컨트롤러로 보내는 방법 본문
1. 목표
1. 개발환경
> Spring Boot 2.1.7, JDK 8
2. 뷰에서 많은 양의 데이터를 컨트롤러로 보내고자 한다.
> 리스트 형태로 보낼 수 있다.
2. 기능
1. 리스트 타입으로 보내기 순서
> 데이터가 담길 ExamDTO 작성(getter, setter)
- String title, String subject, String limit_time
> ExamDTO를 List타입으로 갖는 ExamListDTO 작성(getter, setter)
- List<ExamDTO> examlist
> 뷰에서 보낼 데이터를 폼으로 묶음
- action : listtest
- method : post
- input 태그
- name : ExamListDTO에서 선언한 변수명을 사용하여 작성
- examlist[0].title, examlit[0].subject ...
> 컨트롤러에서 데이터를 받음
- @ModelAttribute(value="ExamTestListDTO") ExamTestListDTO l
3. 소스코드
1. ExamTestDTO(모델)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | package com.cbt.app.common; import java.io.Serializable; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class ExamTestDTO implements Serializable{ private String title; private String subject; private String limit_time; } | cs |
2. ExamTestListDTO(모델)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | package com.cbt.app.common; import java.util.List; import lombok.Getter; import lombok.Setter; import lombok.ToString; @Getter @Setter @ToString public class ExamTestListDTO { private List<ExamTestDTO> examlist; } | cs |
3. test.jsp(뷰)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> private String title; private String subject; private String limit_time; <form action="listtest" method="post"> <input type="text" name="examlist[0].title" value="1번"> <input type="text" name="examlist[0].subject" value="국어"> <input type="text" name="examlist[0].limit_time" value="30"> <input type="text" name="examlist[1].title" value="2번"> <input type="text" name="examlist[1].subject" value="영어"> <input type="text" name="examlist[1].limit_time" value="60"> <input type="text" name="examlist[2].title" value="3번"> <input type="text" name="examlist[2].subject" value="수학"> <input type="text" name="examlist[2].limit_time" value="100"> <input type="submit" value="ggg"> </form> </body> </html> | cs |
4. CommonController(컨트롤러)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | package com.cbt.app.common; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class CommonController { @RequestMapping(value = "/welcome") public String welcome() { return "welcome"; } @RequestMapping(value = "/test") public String testView() { return "test"; } @RequestMapping(value = "/listtest" , method = {RequestMethod.POST, RequestMethod.GET}) public String listtest(Model model, @ModelAttribute(value="ExamTestListDTO") ExamTestListDTO l) { System.out.println("리스트 테스트!!! 받았다!!!"); System.out.println(l); return "test"; } } | cs |
'공부 > Spring Boot' 카테고리의 다른 글
Spring Security 활용 회원 관리 (2) - 커스텀 로그인 뷰 설정 (0) | 2019.09.17 |
---|---|
Spring Security 활용 회원 관리 (1) - 개요, 환경설정, DB 모델링 (1) | 2019.09.16 |
12. Spring Boot Gradle 프로젝트 생성 방법(Thymeleaf) (0) | 2019.09.04 |
11. Spring Boot 파일 업로드/파일 다운로드 (0) | 2019.09.02 |
10. WARN : jdbc.driver 관련 (0) | 2019.08.29 |
Comments