728x90
파싱 입력이 없을 경우(get은 JSP(<%=%>))
- request.getAttribute / getParameter
ModelAndView / @ModelAttribute
- request.getAttribute / getParameter / EL(${})
Model / xxx2(Map<String, String> map) / request.setAttribute
- request.getAttribute / JSP / EL
컨트롤러에 파싱 입력 없음
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String main(LoginDTO dto) {
System.out.println("login - loginForm - GET" + dto);
return "loginForm";
}
<!-- request.getAttribute-out.print / JSP / getParameter 출력 -->
<%
LoginDTO dto = (LoginDTO)request.getAttribute("loginDTO");
String name = dto.getUserid();
out.print("request-out.print: "+name);
%><br>
JSP: <%= dto %><br>
EL: ${dto}
@ModelAttribute
@RequestMapping(value = "/login3", method = RequestMethod.POST)
public String login3(@ModelAttribute("xxx") LoginDTO dto) { //dto의 키값이 xxx
System.out.println("login3 - loginForm - POST" +dto);
return "login3"; //자동으로 데이터 fowarding
}
<!-- request.getAttribute-out.print / JSP / getParameter / EL 출력 -->
out.print:
<%
LoginDTO dto = (LoginDTO)request.getAttribute("xxx");
String name = dto.getUserid();
out.print(name);
%><br>
getAttribute: <%= dto.getUserid() + "\t" + dto.getPasswd()%><br>
getParameter: <%= request.getParameter("userid") + "\t" + request.getParameter("passwd") %><br>
EL: ${xxx}
EL = @ModelAttribute의 설정값
ModelAndView
@RequestMapping(value = "/login2", method = RequestMethod.POST)
public ModelAndView login2(LoginDTO dto) {
ModelAndView mav = new ModelAndView();
mav.addObject("login", dto);
mav.setViewName("login2");
System.out.println("login2 - loginForm - POST" +dto);
return mav; //자동으로 데이터 fowarding
}
<!-- request.getAttribute-out.print / JSP / getParameter / EL 출력 -->
out.print:
<%
LoginDTO dto = (LoginDTO)request.getAttribute("loginDTO");
String name = dto.getUserid();
out.print(name);
%><br>
getAttribute: <%= dto.getUserid() + "\t" + dto.getPasswd()%><br>
getParameter: <%= request.getParameter("userid") + "\t" + request.getParameter("passwd") %><br>
EL: ${login} / ${login.userid} / ${login.passwd}
EL = mav의 키값
@RequestMapping(value = "/login1", method = RequestMethod.POST)//***************************************
public String xxx(Model m) {
m.addAttribute("username", "홍길동"); //request.setAttribute와 동일(req.getAtt로 사용)
m.addAttribute("login", new LoginDTO("aaa","111")); //login key에 object 저장
System.out.println("login - loginForm - GET - MODEL");
return "login1";
}
'이해' 카테고리의 다른 글
데이터 형식 주요 어노테이션 (0) | 2024.02.23 |
---|---|
data-속성 사용 (0) | 2024.02.20 |
PRG패턴 (0) | 2024.02.19 |
EL과 JSTL (0) | 2024.02.14 |
root-context와 servlet-context (0) | 2024.02.14 |