728x90
반응형
1. Spring Legacy Project의 상대경로
spring legacy project를 만들때 설정한 com.mvc.mapping의 mapping이 프로젝트 명칭이 된다.
1) <a href="/home.do">
localhost:8787/home.do
따라서 우리가 원하는 경로로 잡히지 않는다.
2) <a href="home.do">
localhost:8787/mapping/home.do
home.do == ./home.do 이기 때문에 프로젝트 명친인 mapping이 붙어서 mapping/home.do 이렇게 들어간다.
따라서 /mapping/home.do 또는 home.do로 잡아주어서 정상적으로 컨트롤러에서 매핑된 해당 메소드를 찾을 수 있다.
2. @RequestParam
보내주는 변수명과 파라미터가 다를때 사용한다.
@RequestMapping(value = "/command.do", method = RequestMethod.GET)
public String getCommand(Model model, String name, @RequestParam("addr") String address, String phone) {
System.out.println("name: " + name);
System.out.println("address: " + address);
System.out.println("phone: " + phone);
model.addAttribute("dto", new AddressDto(name, address, phone));
return "get";
}
3. @ModelAttribute
command 객체이며 파라미터와 동일한 setter가 있으면 자동으로 연결해서 set해준다. (태그는 생략 가능)
@RequestMapping(value = "command.do", method = RequestMethod.POST)
public String postCommand(Model model, @ModelAttribute AddressDto dto) {
// @modelAttribute : command 객체 라고 부른다.
// 태그는 생략 가능
// 파라미터와 동일한 setter가 있으면 자동으로 연결해서 set!
// setName, setAddr, setPhone 자동 실행
model.addAttribute("dto", dto);
return "post";
}
4. void.do
@RequestMapping에서 void(.do)로 하면 리턴할 view name을 void명칭으로 찾아준다.
따라서 따로 view name 또는 경로를 리턴해주지 않아도 된다.
@RequestMapping("/void.do")
public void voidPage(Model model) {
model.addAttribute("msg", "void page");
}
728x90
반응형
'Web > Spring' 카테고리의 다른 글
[Spring]mapper_configuration doctype설정 (0) | 2020.11.02 |
---|---|
[Spring]MVC_1. 기본설정 순서 (0) | 2020.11.02 |
[Spring]MVC기초설명 (0) | 2020.10.29 |
[Spring]Annotation (0) | 2020.10.28 |
[Spring]AOP_관점지향 프로그래밍 (0) | 2020.10.27 |