Spring Form데이터 컨트롤러에서 처리

wjheo 2016.06.24 17:43

1. form에 action지정해주지 않았을 때 처리 되는 경로

아래 코드를 보면 form 태그에 따로 action을 지정해주지 않았다.
form에 action을 따로 지정해주지 않으면 현재 경로를 그대로 action의 대상 경로로 잡는다. 

즉, 해당 form 에 데이터를 입력한 후 sumbit 버튼을 누르면 해당 jsp파일의 경로인 board/create의 경로에 method로 지정한 post방식으로 호출되므로 이 URI에 매핑되는 컨트롤러에서 form 데이터를 받아서 처리할 것이다.

  


<form role="form" method="post">
    <label for="exampleInputEmail1">TITLE</label>
    <input type="title" class="form-control" id="exampleInputEmail1" placeholder="Enter Title">
       
     <label for="exampleInputEmail1 ">WRITER</label>
     <input type="text" class="form-control"  placeholder="Enter Writer">

      <button type="submit" class="btn btn-primary">Submit</button>          
</form>
 

 
 
2. 스프링MVC 컨트롤러에서, 
요청으로 들어온 폼 데이터를 자동으로 해당 VO객체에 바인딩시키는 방법.
 
해당 URI에 매핑되는 컨트롤러의 메소드가 아래와 같다.
즉, 파라미터로 BoardVO 타입의 객체를 선언함으로써 스프링 MVC가 자동으로 Request로 들어온 form 데이터를 
바인딩시켜준다.
이때 바인딩 시켜주는 기준이 무엇인가하면
스프링MVC가 파라미터를 통해 VO객체를 선언함으로써 자동으로 파라미터를 수집할 때 폼 데이터의 경우 input태그나 textarea태그의 name속성과, 선언된 VO클래스의 멤버변수 이름 같아야 바인딩 시켜준다. 
따라서 form 태그를 작성할 때 name 속성을 줘도 되고 안줘도 되는게 아니라 바인딩하고자하는 VO클래스의 멤버변수와 
똑같은 이름으로 속성을 부여해야만 한다. 

 

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

즉 현재, BoardVO 클래스가 이렇게 설계돼었기 때문에, form 데이터 내에 있는 input또는 textarea태그의 name속성에 해당 멤버변수와 똑같게 값을 주면된다. 

이런식으로 name 속성을 해당 VO클래스의 멤버변수 이름과 똑같이 해주어야한다.


 

[출처] http://wjheo.tistory.com/entry/Spring-Form%EB%8D%B0%EC%9D%B4%ED%84%B0-%EC%BB%A8%ED%8A%B8%EB%A1%A4%EB%9F%AC%EC%97%90%EC%84%9C-%EC%B2%98%EB%A6%AC

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
» Spring Form데이터 컨트롤러에서 처리 file 졸리운_곰 2018.01.24 65
85 Spring〃스프링 MVC 패턴의 흐름 file 졸리운_곰 2018.01.23 138
84 Spring 태그 <form:form> <form:select> 졸리운_곰 2018.01.23 51
83 JSTL substring 문자열 자르기 졸리운_곰 2018.01.19 178
82 forEach를 이용해서 JSTL로 출력하기 졸리운_곰 2018.01.18 562
81 JSP JSTL Map 사용 하기 졸리운_곰 2018.01.18 50
80 Jsp〃[EL]과 [JSTL] 한방에 정리 + Core file 졸리운_곰 2018.01.18 87
79 [Oracle] java.sql.SQLSyntaxErrorException: ORA-00911: 문자가 부적합합니다 졸리운_곰 2018.01.18 50
78 스프링(Spring) 개발 - (18) 페이징 (jQuery와 Ajax) file 졸리운_곰 2018.01.17 176
77 스프링(Spring) 개발 - (17) 페이징 (전자정부 프레임워크 이용) file 졸리운_곰 2018.01.17 455
76 스프링(Spring) 개발 - (16) AOP 설정하기 (부제: Controller에도 AOP 적용하기) file 졸리운_곰 2018.01.17 80
75 스프링(Spring) 개발 - (15) 파일 업로드 & 다운로드 (3/3) file 졸리운_곰 2018.01.17 239
74 스프링(Spring) 개발 - (14) 파일 업로드 & 다운로드 (2/3) file 졸리운_곰 2018.01.17 198
73 스프링(Spring) 개발 - (13) 파일 업로드 & 다운로드 (1/3) file 졸리운_곰 2018.01.17 219
72 스프링(Spring) 개발 - (12) 게시판을 만들자! - 게시판 상세 및 등록 file 졸리운_곰 2018.01.17 173
71 스프링(Spring) 개발 - (11) HandlerMethodArgumentResolver 적용 file 졸리운_곰 2018.01.17 42
70 스프링(Spring) 개발 - (10) 게시판을 만들자! - 게시판 목록 file 졸리운_곰 2018.01.17 114
69 스프링(Spring) 개발 - (9) Mybatis (마이바티스) 연동하기 file 졸리운_곰 2018.01.17 59
68 스프링(Spring) 개발 - (8) 로그 (Log4j) 및 인터셉터 (Interceptor) 설정 file 졸리운_곰 2018.01.17 76
67 스프링(Spring) 개발 - (7) Spring MVC 구조 및 설정파일 file 졸리운_곰 2018.01.17 168
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED