이해

ViewerParsing 이해

일일일코_장민기 2024. 2. 19. 17:18
728x90

 

 

 

파싱 입력이 없을 경우(getJSP(<%=%>))

- 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