-
form 태그웹페이지 제작을 위한 스프링공부 2020. 5. 3. 13:24
form 태그를 사용하지 않고 정보를 불러올때
package kr.co.softcampus.beans; public class UserDataBean { private String user_name; private String user_id; private String user_pw; private String user_postcode; private String user_address1; private String user_address2; public String getUser_name() { return user_name; } public void setUser_name(String user_name) { this.user_name = user_name; } public String getUser_id() { return user_id; } public void setUser_id(String user_id) { this.user_id = user_id; } public String getUser_pw() { return user_pw; } public void setUser_pw(String user_pw) { this.user_pw = user_pw; } public String getUser_postcode() { return user_postcode; } public void setUser_postcode(String user_postcode) { this.user_postcode = user_postcode; } public String getUser_address1() { return user_address1; } public void setUser_address1(String user_address1) { this.user_address1 = user_address1; } public String getUser_address2() { return user_address2; } public void setUser_address2(String user_address2) { this.user_address2 = user_address2; } }
@GetMapping("/test1") public String test1(UserDataBean bean) { bean.setUser_name("홍길동"); bean.setUser_id("abcd"); bean.setUser_pw("1234"); bean.setUser_postcode("12345"); bean.setUser_address1("주소1번입니다"); bean.setUser_address2("주소 2번입니다"); return "test1"; }
bean객체에 값을 주입시켜 request영역에 담고 보냄
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>test1</h1> <form action="result" method="post"> 이름 : <input type='text' name='user_name' value="${requestScope.userDataBean.user_name }"/><br/> 아이디 : <input type='text' name='user_id' value='${requestScope.userDataBean.user_id }'/><br/> 비밀번호 : <input type='password' name='user_pw' value='${requestScope.userDataBean.user_pw }'/><br/> 우편번호 : <input type='text' name='user_postcode' value='${requestScope.userDataBean.user_postcode }'/><br/> 주소1 : <input type='text' name='user_address1' value='${requestScope.userDataBean.user_address1 }'/><br/> 주소2 : <input type='text' name='user_address2' value='${requestScope.userDataBean.user_address2 }'/><br/> <button type='submit'>확인</button> </form> </body> </html>
request에 담긴 값들을 불러옴
form 태그를 사용할때
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <-spring mvc에서 제공하는 form 커스텀 태그 사용가능)
@GetMapping("/test1") public String test1(UserDataBean bean) { bean.setUser_name("홍길동"); bean.setUser_id("abcd"); bean.setUser_pw("1234"); bean.setUser_postcode("12345"); bean.setUser_address1("주소1번입니다"); bean.setUser_address2("주소 2번입니다"); return "test1"; }
이름을 따로 주지 않았기 때문에 UserDataBean이라는 이름으로 request영역에 담김
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>test2</h1> <form:form modelAttribute="userDataBean" action='result'> 이름 : <form:input path='user_name'/><br/> 아이디 : <form:input path='user_id'/><br/> 비밀번호 : <form:password path='user_pw' showPassword="true"/><br/> 우편번호 : <form:input path='user_postcode'/><br/> 주소1 : <form:input path='user_address1'/><br/> 주소2 : <form:input path='user_address2'/><br/> <button type='submit'>확인</button> </form:form> </body> </html>
request영역에 담긴 UserDataBean을 modelAttribute로 선언한후
path에 UserDataBean의 변수이름을 기입하면 주입된 데이터를 불러올 수 있다.
결과
-----------------------------------------------------------------------------------------------
객체의 이름을 정해줘서 request영역에 담은후 넘길때!
@GetMapping("/test3") public String test3(@ModelAttribute("testBean") UserDataBean bean) { bean.setUser_name("홍길동"); bean.setUser_id("abcd"); bean.setUser_pw("1234"); bean.setUser_postcode("12345"); bean.setUser_address1("주소1번입니다"); bean.setUser_address2("주소 2번입니다"); return "test3"; }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>test3</h1> <form:form modelAttribute="testBean" action='result'> 이름 : <form:input path='user_name'/><br/> 아이디 : <form:input path='user_id'/><br/> 비밀번호 : <form:password path='user_pw' showPassword="true"/><br/> 우편번호 : <form:input path='user_postcode'/><br/> 주소1 : <form:input path='user_address1'/><br/> 주소2 : <form:input path='user_address2'/><br/> <button type='submit'>확인</button> </form:form> </body> </html>
-----------------------------------------------------------------------------------------------
model객체를 사용하여 넘길때!(model attribute는 자동으로 request영역에 주입됨)
직접 객체를 생성해서 값을 넣은후 모델에 저장해주면 됨
@GetMapping("/test4") public String test4(Model model) { UserDataBean bean = new UserDataBean(); bean.setUser_name("홍길동"); bean.setUser_id("abcd"); bean.setUser_pw("1234"); bean.setUser_postcode("12345"); bean.setUser_address1("주소1번입니다"); bean.setUser_address2("주소 2번입니다"); model.addAttribute("test_user2", bean); return "test4"; }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>test4</h1> <form:form modelAttribute="test_user2" action='result'> 이름 : <form:input path='user_name'/><br/> 아이디 : <form:input path='user_id'/><br/> 비밀번호 : <form:password path='user_pw' showPassword="true"/><br/> 우편번호 : <form:input path='user_postcode'/><br/> 주소1 : <form:input path='user_address1'/><br/> 주소2 : <form:input path='user_address2'/><br/> <button type='submit'>확인</button> </form:form> </body> </html>
'웹페이지 제작을 위한 스프링공부' 카테고리의 다른 글
Form 요소2 (0) 2020.05.04 Form 요소1 (0) 2020.05.04 커맨드 객체 이용하기 (0) 2020.05.02 viewResolver (0) 2020.05.02 객체로 파라미터 주입받기 (0) 2020.05.02