▶ @RequestMapping("공통된 파일명 혹은 주소")
class 시작 전, @RequestMapping("/member") 라고 명시해 두면 앞으로 이 컨트롤러에 올 모든 url 앞에 ("주소") 가 자동으로 붙는다
▶ @RequestParam("입력양식의 이름") 변수
한번만 값을 읽어 올꺼면 굳이 vo 만들지 않는게 좋겠지? 그러면 이렇게 @RequestParam 을 사용하여 값만 받아 온다. 얘는 reqeust.getParameter 같은 느낌인데 더 좋은 점은 알아서 형변환을 해준다. defaultValue="0"은 파람으로 아무것도 보내지 않았을때 디폴트로 반환 할 값을 지정해준다. 이게 없는데 파람으로 아무것도 안보내면 400오류가 뜬다.
@RequestParam("tel") String tel, @RequestParam(name ="num", defaultValue="0") int num
입력 양식의 이름의 tel 을 String tel 에다가 넣고 num을 int num으로 가져오라 라고 말하는 것
▶ ModelAndView
- ModelAndView mav = new ModelAndView("경로");
ModelAndView는 데이터와 View Page를 함께 저장한다. ModelAndView 를 생성하고 생성자에다가 뷰페이지 경로를 지정해준다. 경로를 생성자에 지정하지 않는다면 ModelAndView이름.setViewName("경로") 에서 따로 지정 해 줘도 된다. 그렇다면 이건 언제 사용하는가? 로그인 성공 or 실패와 같이 목적이 다를 때 사용하면 된다. - addObject("뷰페이지에서 부를 이름", 값)
ModelAndView에 값을 넣어 주고 싶을때는 addObject 를 사용한다. Object 타입이라 String, int, vo 등 종류를 가리지 않고 다 넣을 수 있다.
package com.example.demo.hello;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/member")
public class MemberController {
@GetMapping("/join")
public void joinForm() {
}
@PostMapping("/join")
public String join(@ModelAttribute("v") memberVo vo) {
System.out.println(vo);
return "member/result" ;
}
@RequestMapping("/paramtest")
public ModelAndView paramtest(@RequestParam("tel") String tel, @RequestParam(name ="num", defaultValue="0")int num) {
System.out.println("tel" + tel);
System.out.println("num" + num);
ModelAndView mav = new ModelAndView("member/paramtest");
mav.addObject("tel", tel);
mav.addObject("num", num);
return mav;
}
}
'spring 스프링' 카테고리의 다른 글
lombok (롬복) 라이브러리 스프링으로 사용 (0) | 2023.05.15 |
---|---|
[spring] 스프링 session (0) | 2023.05.12 |
[spring] form 파라미터 (0) | 2023.05.09 |
[spring] spring mvc (1) | 2023.05.08 |
[spirng] 스프링이란 (0) | 2023.05.08 |