본문 바로가기

IT for developer/Spring

나도 한번 써봐야지 스프링 - 3



예제를 이제 살짝쿵 고쳐봐야겠다.

우선 인수를 받아서 처리하는 형태로 바꿔보자.

 이전 소스

@RequestMapping(value="/", method=RequestMethod.GET)

public String home() {

logger.info("Welcome home!");

return "home";

}



뷰에서 아이디를 입력받으면 그 아이디를 다시 Echo 해줘서 뷰에 전달해주는 예제로 변경해보자. 우선 함수의 시그니처를 변경해보자.

public String home(String id) { ..}

이를 클라이언트로 부터 id를 어떻게 전달 받도록 지정해 보자. @RequestParam 에노테이션을 사용하자.

public String home(@RequestParam String id) {..}  (사실 @RequestParam 생략가능하다.)


id를 다시 뷰에게 전달하기 위하여 ModelMap이라는 클래스를 사용한다. 이를 위해 메소드 시그니처를 다음과 같이 변경한다.

public String home(@RequestParam String id, ModelMap model)

ModelMap에 들어 있는 객체를 뷰 에서 참조할 수 있게 된다.

model.put("echoId", id);


다음과 같이 수정한다.

@RequestMapping(value="/", method=RequestMethod.GET)

public String home(@RequestParam String id, ModelMap model) {

logger.info("Welcome home!");

model.put("echoId", id);

return "home";

}



뷰 (home.jsp) 에서 echoId를 출력해보자.

변경된 home.jsp


<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%@ page session="false" %>

<html>

<head>

<title>Home</title>

</head>

<body>

<h1>

${echoId}, Hello world!

</h1>

</body>

</html>



웹브라우저에서 확인해보자.

http://localhost:8080/mysample/?id=inking007