Skip to content

Commit

Permalink
상품 등록
Browse files Browse the repository at this point in the history
  • Loading branch information
kiteB committed Oct 27, 2021
1 parent a7a0e13 commit 58d3270
Show file tree
Hide file tree
Showing 6 changed files with 90 additions and 3 deletions.
17 changes: 17 additions & 0 deletions jpashop2/src/main/java/jpabook/jpashop/controller/BookForm.java
@@ -0,0 +1,17 @@
package jpabook.jpashop.controller;

import lombok.Getter;
import lombok.Setter;

@Getter @Setter
public class BookForm {

private Long id;

private String name;
private int price;
private int stockQuantity;

private String author;
private String isbn;
}
@@ -1,4 +1,4 @@
package jpabook.jpashop.web;
package jpabook.jpashop.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Controller;
Expand Down
@@ -0,0 +1,36 @@
package jpabook.jpashop.controller;

import jpabook.jpashop.domain.item.Book;
import jpabook.jpashop.service.ItemService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

@Controller
@RequiredArgsConstructor
public class ItemController {

private final ItemService itemService;

@GetMapping(value = "/items/new")
public String createForm(Model model) {
model.addAttribute("form", new BookForm());
return "items/createItemForm";
}

@PostMapping(value = "/items/new")
public String create(BookForm form) {
Book book = new Book();
book.setName(form.getName());
book.setPrice(form.getPrice());
book.setStockQuantity(form.getStockQuantity());
book.setAuthor(form.getAuthor());
book.setIsbn(form.getIsbn());

itemService.saveItem(book);

return "redirect:/items";
}
}
@@ -1,4 +1,4 @@
package jpabook.jpashop.web;
package jpabook.jpashop.controller;

import jpabook.jpashop.domain.Address;
import jpabook.jpashop.domain.Member;
Expand Down
@@ -1,4 +1,4 @@
package jpabook.jpashop.web;
package jpabook.jpashop.controller;

import lombok.Getter;
import lombok.Setter;
Expand Down
34 changes: 34 additions & 0 deletions jpashop2/src/main/resources/templates/items/createItemForm.html
@@ -0,0 +1,34 @@
<!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"/>
<form th:action="@{/items/new}" th:object="${form}" method="post">
<div class="form-group">
<label th:for="name">상품명</label>
<input type="text" th:field="*{name}" class="form-control" placeholder="이름을 입력하세요">
</div>
<div class="form-group">
<label th:for="price">가격</label>
<input type="number" th:field="*{price}" class="form-control" placeholder="가격을 입력하세요">
</div>
<div class="form-group">
<label th:for="stockQuantity">수량</label>
<input type="number" th:field="*{stockQuantity}" class="form-control" placeholder="수량을 입력하세요">
</div>
<div class="form-group">
<label th:for="author">저자</label>
<input type="text" th:field="*{author}" class="form-control" placeholder="저자를 입력하세요">
</div>
<div class="form-group">
<label th:for="isbn">ISBN</label>
<input type="text" th:field="*{isbn}" class="form-control" placeholder="ISBN을 입력하세요">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<br/>
<div th:replace="fragments/footer :: footer" />
</div> <!-- /container -->
</body>
</html>

0 comments on commit 58d3270

Please sign in to comment.