[ @Controller ]
@GetMapping("/ url ")
public String A( ) { }
- Mapping 해주는 메소드의 타입은 기본적으로 String 이다.
=> return 값으로 호출할 HTML/JSP 파일 이름으로 주기 때문.
=> ViewResolver 가 자동으로 연결
1. public String( ) { return "A"}
- Model 담는거 없이 그냥 바로 연결
2. public String(Model model) { return "A"}
- Model 담아서 가져간다.
3. public String(String id, int pw) { return "A" }
- 자동으로 form태그에서 name == 파라미터명 같은거 매칭해서 가져옴
( url 파라미터 => 메소드 파라미터 )
4. public String(@RequestParam("id2") String name ){ return A}
- 자동으로 이름 같은거로 가져오지 않을 경우 ( 여러개 )
<form action= >
<input name="id"> <input name="id2">
@RequestParam("파라미터name") 직접 명시해서 가져올 수 있다.
즉,
String name =request.getParameter("id2"); 와 같은 의미
[ **RequestParam ( ) ]
( @RequestParam( name = " ", value = " " ) int id )
- 파라미터에 사용
- URL 에 직접 ?name = value 값을 넣어준다.
- 이 value 값은 해당 파라미터값으로 들어간다.
@GetMapping 메소드에서 name 만 설정해두고 사용하면
=> VIEW단 페이지에서 요청할 때
?name=value 이렇게 요청한 페이지를 받을 수 있다.
< 추가설정 >
- required = false
: 들어오는 URL 파라미터 없어도 되게끔 설정
- defaultValue="1"
: 기본 초기 value값 설정
( 페이징 / 해당게시글로 이동 등에 기능에서 변수 URL을 받을 때 사용 )
( 다른 방법으로 @PathVariable 을 사용할 수 있다. )
5. public String(String id, int pw, Model model) { return "A" }
- 가져온 url 파라미터 사용하고, 모델에 담아서 가져간다.
6. public String (@ModelAttribute("form") Form form ) {return "A";}
- public String (Model model, Form form)
해서 model.addAttribute( form ) 하는걸
파라미터에서 바로 @ModelAttribute("form") 담아버리는 것.
(1) form으로 입력값 받아서 저장해논걸
(2) 받아오자마자 바로 model 에 담아버린다
( Model model 칠 때 어짜피 담을거니까 거기서 그냥 담아 )
7. public String(@PathVariable Long id, Model model ) { return "A" }
- board/{id} => 변수 URL id값을 파라미터로 가져오겠다.
8. public String loging(Form form) { return "A"}
- Form 엔티티클래스에 변수명 맞춰진 거있으면
form action 태그로 보낸 value 값들이 자동으로
form 객체에 들어감
=> 그 form 객체를 가져다 쓰는 것
9. public String( Form form ){ return "redirect:/A" }
- 처리할거 파라미터로 받아서 처리만 한 후,
( DB에 저장한다든지의 작업 )
모델에 딱히 담아서 보낼건 없을 경우,
( return 으로 jsp에 전달 할게 없으므로 )
그냥 redirect 로 해당 url로 보내버리기만 한다.
10. public String (HttpServletRequest req ){ return }
- 서블릿 받아서 request.getParameter 등 사용할 수 있음
11. public String (HttpSessioin session){ return }
- 세션받아서 사용할 수 있음
@getMapping("/A")
12. public void ( ){ }
- void 일 경우는, mapping 했던 그 URL ("/A")로 return 한다
'Back to the Spring' 카테고리의 다른 글
[ AJAX ] REST API / JSON / ResponseBody (0) | 2022.08.25 |
---|---|
[ 파일 업로드 ] MultipartFile 사용 => transferTo / UUID 파일명 중복방지 (0) | 2022.08.24 |
DispatcherServlet // HandlerMapping // ViewResolver (0) | 2022.08.18 |
[DI] xml 방식 / Componenet - Scan 방식 (0) | 2022.08.18 |
Dependency Injection => Inversion Of Control (0) | 2022.08.18 |