1
2
3
4
5
6
7
8
9
10
|
// JSP
<form:form action="d1_order" modelAttribute="item" method="post" enctype="multipart/form-data">
<td><form:input path="no" type="text" class="form-control" readonly="true"/></td>
<td><form:input path="item" type="text" class="form-control" placeholder="물품명" readonly="true"/></td>
<td><form:input path="price" type="text" class="form-control" placeholder="물품가격" readonly="true"/></td>
<td><form:select class="form-control" path="cnt" items="${count}" /></td>
<td><input class="button" type="submit" value="주문하기"/></td>
</form:form>
| cs |
<td><form:select class="form-control" path="cnt" items="${count}" /></td>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
// Controller
@RequestMapping(value = "d1_order", method = RequestMethod.GET)
public String d1_item_order1(@RequestParam("no")int no,Model model) {
Exam1_item item1 = dDAO.getItemOne(no);
List<Integer> cnt = new ArrayList<Integer>();
for(int i=1;i<=item1.getCnt();i++){
if(i>1000){
break;
}
cnt.add(i);
}
item1.setCnt(20);
model.addAttribute("item", item1);
model.addAttribute("count", cnt);
return "d1/order1";
}
| cs |
Exam1_item item1 = dDAO.getItemOne(no);
List<Integer> cnt = new ArrayList<Integer>();
item1 에서 no를 가지고 와서 그 해당no의 아이템이 가지고 있는 수량 (cnt)을 담기 위해List 로 cnt 생성자를 만들어준다. (가지고 오는 수량의 타입이 int 이기에 Integer List를 만들었다.)
for(int i=1;i<=item1.getCnt();i++){
if(i>1000){
break;
}
cnt.add(i);
가지고 있는 수량 만큼을 반복해서 출력한 값 List 이기에 add 메소드를 사용하여담아준다.
만약 수량이 1000개가 넘으면 반복문을 빠져 나와 1000까지만 담는다.
item1.setCnt(20);
기본 셋팅값을 20으로 설정. JSP에서 화면 출력시 select에 20으로 초점이 맞춰져있다.
1로 하면 1로 기본 셋팅 된다.
model.addAttribute("item", item1);
model.addAttribute("count", cnt);
return "d1/order1";
item1의 목록과 방금 얻은 cnt값을 각자 JSP로 던져 준다.
JSP에서 받을 때 (하나는 modelAttribute, path값을 이용, 다른하나는 items="${count}" 값을 이용
<form:form action="d1_order" modelAttribute="item" method="post" enctype="multipart/form-data">
<td><form:select class="form-control" path="cnt" items="${count}" /></td>
댓글 없음:
댓글 쓰기