728x90
반응형

Java의 VO

1
2
3
4
5
6
7
8
9
10
11
@Setter
@Getter
@ToString
public class MaterialVO {
 
    private int mtrlSeq;
    private String mtrlNm;
    private String mtrlTp;
    private String qty;
 
}
cs

====

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@Setter
@Getter
@ToString
public class ProductVO {
 
    private int prodSeq;
    private String prodNm;
    private String recipe;
    private String showYn;
 
    // 재료 리스트
    private List<MaterialVO> material;
 
}
cs

대략 이런 구조라고 해보자.

이때 html에서는 재료리스트는 어떻게 네이밍 해줘야 할까?

 

1
2
3
4
5
6
<input type="text" name="prodSeq" th:value="${detailVO != null ? detailVO.prodSeq: '-1'}"/>
 
<!-- List  -->
<input type="text" name="material[0].mtrlNm" th:value="${detailVO.mainMaterial[0].mtrlNm}">
<input type="text" name="material[1].mtrlNm" th:value="${detailVO.mainMaterial[1].mtrlNm}">
 
cs

 

이건 thymeleaf 문법이 포함된 건데,

value 부분은 ModelAndView에 mav.addObject("detailVO", detailVO) 로 값을 넣어준 경우로 참고하면 되고,

중요건 name 부분이다. name="material[i].mtrlNm" 형태다.

 

ProductVO이 List<MaterialVO> material;

name="material[i].mtrlNm"

붉은색 부분의 네이밍이 같다는 것과 배열과 형태로 인덱스를 지정하고 마침표(.)로 변수명을 구분한다는 것을 주의하면 된다.

 

 

 

출처 : https://cofs.tistory.com/84

 

 

728x90
반응형

+ Recent posts