일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- SpringBoot 2
- R
- heroku
- scanner
- 자바 thread 실행 순서 제어
- 사칙연산
- input
- 자바 스레드 실행 순서 제어
- 수학
- 자바입력
- Easy
- array
- 카데인 알고리즘
- hash table
- JAVA11
- Kadane's Algorithm
- Today
- Total
DeFacto-Standard IT
Spring DataBinding (1) - HTML Form 본문
client에서 server로 request할 시에 여러가지 데이터를 담아서 보내는 경우가 많은데,
controller에서는 이 담겨온 정보를 plain text로 일일이 받아서 사용하기 보다는
객체로 DataBinding을 하여 바로 쓰는 것이 코드가 간결하고 사용하기도 편하다.
여러가지 경우에 대해서 DataBinding을 생각해 볼 수 있다.
HTML Form Data to Object
HTML Form Data를 전송했을 때, Controller에서 Object로 바로 받아서 사용할 수 있다.
- HTML Form
<form>
...
<input class="control" name="name" type="text" />
<input class="control" name="email" type="text" />
<textarea class="control" name="text" rows="10" cols="10">
...
</form>
HTML form에서 값을 입력할 경우에는 <input>태그의 name 속성의 값이 바인딩 하려는 객체에 대한 클래스의 변수명과 같이 "name", "email", "text"와 매치가 되게 작성하여야 한다.
- Java Class
public class Offer {
...
private String name;
private String email;
private String text;
...
}
즉, Offer 클래스에는 name, email, text라는 이름의 필드가 존재한다.
- Controller
@RequestMapping("/docreate")
public String doCreate(Model model, Offer offer) {
return "offercreated";
}
Controller는 그냥 받으면 된다.
HTML Form Data to DataType
(using @RequestParam)
HTML Form에서 보낸 Data를, 일일이 DataType을 지정하여 받을 수 있다.
- HTML Form
<form>
...
<input class="control" name="name" type="text" />
<input class="control" name="email" type="text" />
<textarea class="control" name="text" rows="10" cols="10">
...
</form>
- Controller
@RequestMapping("/docreate")
public String doCreate(Model model, @RequestParam String name, @RequestParam String email, @RequestParam String text) {
return "offercreated";
}
@RequestParam을 써서 자료형으로 받을 수도 있다. 변수명은 HTML Form의 'name' Attribute의 값과 동일해야 한다.
'SpringFramework > References' 카테고리의 다른 글
Spring DataBinding (3) - AJAX Request via JQuery (JSON) (2) | 2018.05.02 |
---|---|
Spring DataBinding (2) - Spring Form Tag (0) | 2018.05.02 |
Apache Tiles와 장단점 (0) | 2017.11.16 |
IoC / DI / AOP (0) | 2017.11.16 |
POJO (0) | 2017.11.16 |