Thymeleaf 가 생각보다 제약사항이 있고 사용하기 어려운 점이 계속 발생한다..
<div class="form-group" th:each="group,stat : *{itemOptionGroupList}">
<label for="itemOptionGroupList" >옵션그룹명(<span th:text="${stat.index+1}"></span>)</label>
<input type="text" id="itemOptionGroupList"
th:field="*{itemOptionGroupList[__${stat.index}__].itemOptionGroupName}"
class="form-control"
placeholder="옵션그룹명을 입력하세요(ex, 사이즈, 색상)">
<input type="hidden" th:field="*{itemOptionGroupList[__${stat.index}__].ordering}" th:value="${stat.index}">
</div>
위의 코드와 같이 input의 th:field를 사용하면 th:value 값을 입력하더라도 th:field의 값으로 대체되고 view에서 선언한 index와 같은 값이 들어가지 않는 문제가 있다.
field는 id, name을 대체하기 때문에 field 대신에 name, value 를 사용하라고 구글링하면 나오긴 하지만
name으로 변경 시 nested list에 대한 표현이 되지 않고 최종 필드명만 표시된다.
몬가 다른 방법이 있을것 같은데 끝내 못찾고.. view 바인딩 시 값을 controller에서 주는 것으로 우회하였다. -_-;
참고 : https://stackoverflow.com/questions/31542032/how-to-add-default-values-to-input-fields-in-thymeleaf
'Java && Spring' 카테고리의 다른 글
ec2에서 build 시 gradle HeapDumpOnOutOfMemoryError (0) | 2022.08.09 |
---|---|
스프링 시큐리티 Mysql용 session 테이블 생성 쿼리 (0) | 2022.06.29 |
spring NoSuchMethodException 에러 (0) | 2022.06.22 |
thymeleaf input에 default value 적용 안되는 현상 (0) | 2022.06.20 |
Neither BindingResult nor plain target object for bean name 'partner' available as request attribute (0) | 2022.06.14 |