문제

Quiz) 
form 형태의 go.jsp파일에서 값을 입력하면 gogo.jsp파일로 넘어가 go에서 적었던 값이 나오게 만드시오

 

go.jsp 파일 예시
gogo.jsp파일 예시

 

form에서 제출한 값은 post형식으로 보내지며 gogo.jsp 파일은 go에서 적은 form의 파라미터 정보를 가져오는 컨트롤러를 작성하여야 한다. 

 


풀이

 

go.jsp

<body>
어디로 갈까요?<br>
<form action="/quiz/gogo" method="post">
	<input type ="test" name = "where"><br>
	<input type = "submit" value="가자">
</form>

gogo.jsp

${where}<br>
	가자!

QuizController.java

package org.zerock.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
@RequestMapping("/quiz/*")
public class QuizController {
@RequestMapping("/go")
	public void go() {
	}

	
//// 파라미터 requestparam으로 가져오기
	@RequestMapping("/gogo")
	public void go(@RequestParam("where")String where, Model model) {		
	model.addAttribute("where",where);
	}

form 형식으로 된 파라미터의 데이터를 가져올때 requestparam 어노테이션을 활용하면 매개변수로 model에 데이터 값을 실어보내서 나중에 result값을 보여줄 gogo.jsp 파일에는 ${param.where} 대신 ${where}만 사용할 수 있다. 

복사했습니다!