1. 상품 이름, 가격 작성할수있는 페이지를 폼으로 만들기
write.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link href=" /main.css" rel="stylesheet">
</head>
<body>
<form action="/add" method="post">
<input name="title">
<!--input은 name 속성이 있어야 서버로 전송 가능 -->
<input name="price">
<button type="submit">전송</button>
<!--button은 type 속성이 submit이여야 서버로 전송 가능 -->
</form>
</body>
</html>
2. write.html로 접속할수있는 API 만들어주기. /write
ItemComtroller
@GetMapping("/write")
String write(){
return "write.html";
}
3.전송버튼을 누르면 서버로 데이터 보내기.
사용자가 보낸 정보를 서버로 받고싶으면?
POST method요청으로 날리면 서버로 데이터 전송 가능.
form태그에 action "/URL" method = "POST"붙이면
input에 입력한 값들이 name속성을 key로 잘 날라감
<form action="/add" method="post">
4./URL을 통해 데이터를 받을 서버API 만들기
tip! URL작명시 명사가 좋음 (관습)
파라미터로 input name속성들을 잘 써주면 됨.
타입명은 그 타입으로 바꿔달라는뜻으로 쓰는것임.
예를들어 price를 String으로 받고싶으면 String price라고 적으면 됨
원래는 파라미터에 @RequstParam(name="title")이렇게 적어야하는데
우리는 초기설정에서 파라미터 생략하는걸 설정했기때문에 안써도 작동가능한것임.
(ajax로 데이터전송하려면 @RequestBody써야함 )
(인텔리제이 행 복사 : 컨트롤 + d)
특정페이지로 돌아가게 만드는법 = redirect:/주소
@PostMapping("/add")
String addPost(@RequestParam String title,
@RequestParam int price){
System.out.println(title);
System.out.println(price);
return "redirect:/list";
}
실행
실행결과
MAP
한 변수에 유저가 보낸 모든 데이터 변환할때
MAP 자료형쓰기.
@PostMapping("/add")
String addPost(@RequestParam Map formData){
MAP 자료형으로 데이터 저장하기.
Map<key의 타입,value의 타입 > test = new HashMap<>();
value에 문자나 숫자 등 다양한 타입을 받으려면 object
map은 key,value 형식으로 값을 저장함
.put("저장할이름",데이터);
즉 저장할 이름은 key
데이터는 value
Map<String,Object > test = new HashMap<>();
test.put("name","이");
test.put("age",20);
참고로 한개의 값만 빼오고 싶을때
System.out.println(test.get("name"));
이런식으로 .get(key) 해주면 key에 해당하는 값만 가져옴
'SPRING' 카테고리의 다른 글
[Spring Boot] 상품상세페이지1 (0) | 2025.03.18 |
---|---|
[Spring Boot] 폼에서 데이터 받아서 DB에 저장(간단하게)/@ModelAttribute/타임리프 html 반복문 (0) | 2025.03.18 |
[Spring Boot] 개발자들이 private를 쓰는이유 (0) | 2025.03.15 |
[Spring Boot] public / package - private / protected / static / private / getter / setter (0) | 2025.03.15 |
[Spring Boot] html에 데이터 넣기 타임리프 반복문 th:each / LomBok의 @ToString (0) | 2025.03.15 |