728x90
Controller
package com.app.test;
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.RequestMethod;
@Controller
public class TestController {
@RequestMapping(value = "/main", method = RequestMethod.GET)
public String main() {
System.out.println("main - GET");
return "main";
}
@RequestMapping(value = "/redirect", method = RequestMethod.GET) //redirect요청이면 setAttribute는 전달되지 않음(null)
public String aaa(Model m, HttpServletRequest request) { //addAttribute도 전달 X(공백)
m.addAttribute("userid", "홍길동"); //redirect요청 시에 주소에 parameter로 전달
request.setAttribute("passwd", "5678");
System.out.println("redirect - GET");
return "redirect:main?userid=aaa"; //getParameter로 출력
}
@RequestMapping(value = "/forward", method = RequestMethod.GET) //파라미터로 데이터 전송, GetParameter사용 불가(null)
public String bbb(Model m, HttpServletRequest request) { //addAttribute는 전달
m.addAttribute("userid", "홍길동"); //EL, req.getAtt 모두 전달
request.setAttribute("passwd", "1234"); //EL, req.getAtt 모두 전달
System.out.println("forward - GET");
return "forward:main";
}
@RequestMapping(value = "/flash", method = RequestMethod.GET) //EL태그, req.getAtt로 출력 // req.getParam은 null
public String aaa(RedirectAttributes r) { //servlet.context.xml의 <anootatin-drriven/>이 필수(없으면 실행이 안 됨)
r.addFlashAttribute("userid", "홍길동"); //Object로 저장 가능
r.addFlashAttribute("passwd", "5678");
System.out.println("redirect - GET");
return "redirect:main";
}
}
main.jsp
<%@page import="com.app.test.LoginDTO"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Home</title>
</head>
<body>
<h1>
Hello world!
</h1>
id. EL Tag :${userid}<br>
id. req.getAtt : <%= request.getAttribute("userid") %><br>
id. req.getParam : <%= request.getParameter("userid") %><br>
<hr>
pw. EL Tag :${passwd}<br>
pw. req.getAtt : <%= request.getAttribute("passwd") %><br>
pw. req.getParam : <%= request.getParameter("passwd") %><br>
</body>
</html>
Redirect
Hello world!
id. EL Tag :
id. req.getAtt : null
id. req.getParam : aaa
pw. EL Tag :
pw. req.getAtt : null
pw. req.getParam : null
Forward
Hello world!
id. EL Tag :홍길동
id. req.getAtt : 홍길동
id. req.getParam : null
pw. EL Tag :1234
pw. req.getAtt : 1234
pw. req.getParam : null
Flash
Hello world!
id. EL Tag :홍길동
id. req.getAtt : 홍길동
id. req.getParam : null
pw. EL Tag :5678
pw. req.getAtt : 5678
pw. req.getParam : null
'단순 코드 기록 > Spring' 카테고리의 다른 글
Spring_Intercept_for_login (0) | 2024.02.14 |
---|---|
Spring_Intercept (0) | 2024.02.14 |
Spring_URLMAPPING (0) | 2024.02.14 |
Spring_Exception (0) | 2024.02.13 |
Spring_returnType (0) | 2024.02.13 |