일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Easy
- R
- hash table
- 카데인 알고리즘
- 자바입력
- 수학
- input
- SpringBoot 2
- 자바 thread 실행 순서 제어
- array
- JAVA11
- 자바 스레드 실행 순서 제어
- scanner
- 사칙연산
- heroku
- Kadane's Algorithm
Archives
- Today
- Total
DeFacto-Standard IT
Spring DataBinding (2) - Spring Form Tag 본문
SpringFramework/References
Spring DataBinding (2) - Spring Form Tag
defacto standard 2018. 5. 2. 00:01Spring Form Data to Object
- Controller ( GET Method )
@RequestMapping(value="/register", Method=RequestMethod.GET)
public String registerUserGet(Model model) {
// 반드시 객체를 생성 후 Model객체를 사용하여 View에 넘겨야 함, 안만들면 Exception발생
User user = new User();
model.addAttribute("user", user);
return "jsp";
}
반드시 객체를 하나 생성하여, Model을 통해 View로 넘겨야 한다.
- Spring Form (jsp.jsp)
<sf:form action="${pageContext.request.contextPath}/register" method="post" modelAttribute="user">
<sf:input path="username" id="username" class="form-control"/>
<sf:password path="password" id="password" class="form-control"/>
<sf:input path="email" id="email" class="form-control"/>
</sf:form>
modelAttribute속성의 값은 model.addAttribute()의 키값과 같은 값("user")으로 객체를 뜻한다.
그리고, input태그의 path라는 속성의 값은 넘겨받은 객체(User객체)의 클래스에 존재하는 필드명과 같아야 한다.
- Java Class
public class User {
private int userId;
private String username;
private String password;
private String email;
}
따라서 User객체는 위와 같다.
- Controller ( POST Method )
@RequestMapping(value="/register", Method=RequestMethod.POST)
public String registerUserPost(User user, Model model) {
userService.addUser(user);
model.addAttribute("success", "success");
return "jsp";
}
Controller에서는 그냥 받으면 된다. 잘 보면 Controller의 URL매핑이 동일하고 Method 타입이 다르다.
회원가입을 예로 들자면,
GET메서드는 사용자가 '회원가입'버튼을 눌렀을 때 실행되는 메서드이며
POST메서드는 사용자가 폼을 입력하고 '전송'버튼을 눌렀을 때 실행되는 메서드이다.
'SpringFramework > References' 카테고리의 다른 글
Object Serialization (JSON) (1) - @RestController, @ResponseBody (0) | 2018.05.02 |
---|---|
Spring DataBinding (3) - AJAX Request via JQuery (JSON) (2) | 2018.05.02 |
Spring DataBinding (1) - HTML Form (0) | 2018.02.10 |
Apache Tiles와 장단점 (0) | 2017.11.16 |
IoC / DI / AOP (0) | 2017.11.16 |
Comments