K-DigitalTraining 강의/11. Spring
form에서 입력한 값을 컨트롤러의 요청처리 메소드 쪽에서 받는 2가지 방법
이대곤
2022. 9. 1. 09:39
form에서 입력한 값을 컨트롤러의 요청처리 메소드 쪽에서 받는 방법
여기서 submit을 눌러 전송한다고 했을 때,
컨트롤러의 요청 처리 메소드에서 이 4개 변수 값들을 받는 방법에는 몇가지가 있을 까?
<form>
<input type="text" name="num">
<input type="text" name="name">
<input type="text" name="price">
<input type="hidden" name="pageNumber">
<input type="submit" value="전송">
</form>
방법1.
전부를 각각 @RequestParam() 타입명 변수명 으로 받을 수 있을 것이다.
방법2.
ProductBean이 있다는 가정하에 num, name, price는 커맨드 객체로 받고
pageNumber만 @RequestParam() 타입명 변수명 으로 받을수도 있을 것이다.
ProductBean
class ProductBean{
private int num;
private String name;
private int price;
ProductBean(){
}
ProductBean(int num, String name, int price){
this.num = num;
this.name = name;
this.price = price;
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
}
@RequestMapping(value=command)
public String getDetailView(
ProductBean pbean,
@RequestParam("pageNumber") int pageNumber) {
System.out.println(pbean);
System.out.println(pageNumber);
return getPage;
}
1) bean의 멤버 이름과 ...커맨드 객체로 받는것 => @request Param으로 받거나 커맨드 객체로 받으면 됨
2) hidden으로 보내는 것 + bean에 없는 경우 => 무조건 @request Param으로 받아야 함