ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring MVC(html과의 매핑)
    웹개발/Spring 2020. 7. 28. 00:39

    이 내용은 인프런의 스프링 웹 MVC강좌를 참고하여 만들었습니다.

     

    1, 주고받을 데이터를 사용하기 위하여 간단한 Event 객체 생성

    public class Event {
    
        private Integer id;
    
        private String name;
    
        private Integer limit;
    
        public Integer getLimit() {
            return limit;
        }
    
        public void setLimit(Integer limit) {
            this.limit = limit;
        }
    
        public Integer getId() {
            return id;
        }
    
        public void setId(Integer id) {
            this.id = id;
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    }

     

    2, 타임리프를 통하여 간단하게 form.html페이지 생성

    @{} : 해당 경로로 가게 됨(link expression)

    ${} : 변수를 받아오고 model로 넘겨준 값을 받아오게 됨(variable expression)

    *{} : 변수안에 받아온 것의 필드에 접근(selection expression)

    #{}: 변수안에 있는 문자열을 가지고 옴(message expression)

    ~{}: fragment를 넣고 싶을 때 사용, 보통 th:insert와 많이 사용됨(fragment expression)

    <!DOCTYPE html>
    <html lang="en" xmlns:th="http://www.thymeleaf.org">
    <head>
        <meta charset="UTF-8">
        <title>Create New Event</title>
    </head>
    <body>
    <form action = "#" th:action="@{/events}" method="post" th:object="${event}">
        <input type="text" title = "name" th:field="*{id}"/>
        <input type="text" title = "name" th:field="*{name}"/>
        <input type="text" title="limit" th:field="*{limit}">
        <input type="submit" value="Create"/>
    </form>
    
    </body>
    </html>

     

    3, "/events/form"을

    @Controller
    public class SampleController {
    
        @GetMapping("/events/form")
        public String eventsForm(Model model){
            Event newEvent = new Event();
            newEvent.setId(10);
            newEvent.setLimit(50);
            newEvent.setName("test");
            model.addAttribute("event",newEvent);
            return "events/form";
    
        }
    
    
        @PostMapping("/events")
        @ResponseBody
        public Event getEvent(@RequestParam Map<String, String> params) {
    
            Event event = new Event();
            event.setId(Integer.valueOf(params.get("id")));
            event.setName(params.get("name"));
            event.setLimit(Integer.valueOf(params.get("limit")));
            return event;
    
        }
    
    }

     

    4, 결과 화면

    "/events/form"화면

     

    "/events"화면

    '웹개발 > Spring' 카테고리의 다른 글

    Spring MVC(폼 서블릿 오류 해결)  (0) 2020.07.28
    Spring MVC(@ModelAttribute, @Valid, @Validated)  (0) 2020.07.28
    Spring MVC(요청 매개변수)  (0) 2020.07.26
    Spring MVC(URI 패턴)  (0) 2020.07.26
    Spring MVC(매핑정리)  (0) 2020.07.26
Designed by Tistory.