ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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
Designed by Tistory.