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 |
Tags
- pscp
- setParameter
- junit
- mycp
- 점세개
- 쉬운 계단 수
- 자료구조
- designpattern
- 전치행렬 #C
- BubbleSorting
- 데코레이터패턴
- createQuery
- @ModelAttribute
- @Spring
- 10951
- 자바
- 숫자야구
- Linux
- @NotEmpty
- gradle
- Spring
- 10844
- 여러인수
- 디자인패턴
- springboot
- decorator
- C
- NamedParameterNotBound
- 백준
- java
Archives
- Today
- Total
...
@ModelAttribute에 대한 정리 본문
@Getter @Setter
public class OrderSearch {
private String MemberName; //회원 이름
private OrderStatus orderStatus; //주문 상태 [ORDER,CANCEL]
}
OrderSearch 클래스가 있다.
회원 이름과 주문상태를 확인할 수 있으며, bean 클래스이고 getter와 setter가 명명 규칙에 맞게 들어가 있어야 한다.
http://localhost:8080/orders?MemberName=박지성&OrderStatus=ORDER
와 같이 접속이 들어올 경우
@GetMapping("/orders")
public String orderList(@ModelAttribute("orderSearch") OrderSearch orderSearch, Model model) {
List<Order> orders = orderService.findOrders(orderSearch);
model.addAttribute("orders", orders);
return "order/orderList";
}
orderList 메소드가 실행될 것이다.
그렇다면 내 컴퓨터, 스프링 컨테이너는 자동적으로 OrderSearch 클래스의 orderSearch 객체를 자동 생성한다.
이후, 생성된 오브젝트 (orderSearch)는 HTTP로 넘어온 값들을 자동으로 바인딩한다.
마지막으로, @ModelAttribute 어노테이션이 붙은 orderSearch 객체가 자동으로 Model에 추가되고 뷰단으로 전달된다.
<뷰단> -> {orderSearch} 확인하기
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head th:replace="fragments/header :: header"/>
<body>
<div class="container">
<div th:replace="fragments/bodyHeader :: bodyHeader"/>
<div>
<div>
<form th:object="${orderSearch}" class="form-inline">
<div class="form-group mb-2">
<input type="text" th:field="*{memberName}" class="form-control" placeholder="회원명"/>
</div>
<div class="form-group mx-sm-1 mb-2">
<select th:field="*{orderStatus}" class="form-control">
<option value="">주문상태</option>
<option th:each="status : ${T(jpabook.jpashop.domain.OrderStatus).values()}"
th:value="${status}"
th:text="${status}">option
</option>
</select>
</div>
<button type="submit" class="btn btn-primary mb-2">검색</button>
</form>
</div>
'백엔드' 카테고리의 다른 글
ec2 인바운드/아웃바운드 규칙 정리 (0) | 2022.07.06 |
---|---|
HTTP 메소드 정리... (0) | 2022.06.09 |
[Java/Spring]application.yml 파일 작성 틀 [db:h2/jpa/logging] (0) | 2022.05.24 |
Spring Test class 구성 .................. 규냥 참고용 (0) | 2022.04.16 |
DAO/DTO(=VO)에 대하여 (0) | 2022.04.01 |
Comments