IT EDU/SPRING

[Spring] MVC 데이터 전송 예제

yoonhoou 2022. 3. 10.
728x90

 

 

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.*, java.text.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<head>
	<title>메인 페이지</title>
</head>

<body>
	<%=new Date()%>
	<h2>Hello World</h2>
	
	<!-- t[] 컨트롤러로 이동하라 -->
	<a href="t1">링크1</a><br>
	<a href="t2">링크2</a><br><br><br>
	<a href="t3?name=apple">name 보내기(@RequestParam)</a><br>
	<a href="t4?name=apple&age=30">name age 보내기(@RequestParam)</a><br>
	<a href="t5?name=apple&age=30">name age 보내기(HttpServletRequest request)</a><br><br><br>
	<a href="t6">TigerView로 데이터 전송</a><br><br>
	<a href="t7?name=banana&age=300">name age 보내기(toss toss)</a><br>
	<br/>
</body>

 

Tiger.java

💱Controller

package Pack01;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class Tiger {
	
	@RequestMapping("/t1")
	String func01() {
		System.out.println("호랑이");
		return "TigerView";
	}
	
	@RequestMapping("/t2")
	String func02() {
		System.out.println("호랑이2");
		return "TigerView";
	}

	// @RequestParam(value="name") : 클라이언트에서 name이라는 이름으로 전송	
	// index.jsp 에서 넘어온 인수를 func03 에서 받음
	// value : 저기서 뭐가왔니?
	@RequestMapping("/t3")
	String func03(@RequestParam(value="name") String name) {
		System.out.println("func03 호출");
		System.out.println(name);
		return "TigerView";
	}
	
	@RequestMapping("/t4")
	String func04(
			@RequestParam(value="name") String name,
			@RequestParam(value="age") String age) {
		System.out.println("func04 호출");
		System.out.println(name + " " + age);
		return "TigerView";
	}
	
	@RequestMapping("/t5")
	String func05(HttpServletRequest request) {
		String name = request.getParameter("name");
		String age = request.getParameter("age");
		System.out.println("func05 호출");
		System.out.println(name + " " + age);
		return "TigerView";
	}
	
	@RequestMapping("/t6")
	// 스프링에서 자체적으로 던져주는 객체인 Model
	// 컨트롤러에 들어오고 View로 보내는 것 모두 spring이 해줌
	String func06(Model model) {
		System.out.println("func06 호출");
		model.addAttribute("name", "독수리");
		model.addAttribute("age", "200");
		return "TigerView";
	}
	
	@RequestMapping("/t7")
	// 스프링에서 자체적으로 던져주는 객체인 Model
	// 컨트롤러에 들어오고 View로 보내는 것 모두 spring이 해줌
	String func07(
			Model model,
			@RequestParam(value="name") String name,
			@RequestParam(value="age") String age) {
		System.out.println("func07 호출");
		model.addAttribute("name", name);
		model.addAttribute("age", age);
		return "TigerView";
	}
}

 

TigerView.jsp

💻View

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
	<h3>View !</h3><br>
	
	<!-- 받는방법 1 -->
	<%
		// String nn = request.getParameter("name"); model에서 넘어오는값은 getParameter로 받으면 안됨 
		String nn = (String)request.getAttribute("name");
		String aa = (String)request.getAttribute("age");
	%>
	<%=nn %>
	<%=aa %>
	
	<!-- 받는방법 2 -->
	<h3>${name} ${age}</h3>
</body>
</html>

 

 

 

😛결과

 

링크 1

Console : 호랑이

 

 

링크 2

Console : 호랑이2

 

 

링크 3

Console : func03 호출
             apple

 

 

링크 4

Console : func04 호출
             apple 30

 

 

링크 5

Console : func05 호출
             apple 30

 

 

링크 6

Console : func06 호출

 

링크 7

Console : func07 호출

 

 

댓글