카테고리 없음
th:block 꼼수
별지킴Lee
2023. 12. 6. 15:11
타임리프 특성상 HTML 태그안에 속성으로 기능을 정의하여 사용하는데, 사용하기 애매한 경우에 사용
예시가 제일 눈에 보기 좋겠지...??
@Data
public class CodeDto {
@NotBlank
private String tbl_nm; //테이블 명
@NotBlank
private String col_nm; //코드 명
public void searchCode(String tbl_nm, String col_nm){
this.tbl_nm = tbl_nm;
this.col_nm = col_nm;
}
}
@Data
public class CodeVo {
private String tbl_nm; //테이블 명
private String col_nm; //코드 명
private String cd_val; //코드 값
private String cd_desc; //코드 설명
}
<select id="getCodeList" parameterType="블라블라.CodeDto" resultType="블라블라.vo.CodeVo">
SELECT
tbl_nm
, col_nm
, cd_val
, cd_desc
FROM code_master
WHERE tbl_nm = #{tbl_nm}
AND col_nm = #{col_nm}
;
</select>
CodeDto codeDto = new CodeDto();
codeDto.searchCode("테이블명", "컬럼명");
List<CodeVo> typCdList = podeService.getCodeList(codeDto);
요로코롬 typ_cd_list를 타임리프에 적용하려고 한다
( searchCode 메소드는 내가 테이블에 맞게 만든것!!! 조심!!! )
<input type="radio" name="typ_cd" th:each="item : ${typ_cd_list}"
th:value="${item.typ_val}"
th:text="${item.cd_desc}"
>
th:block 을 사용해서
<th:block th:each="item : ${typ_cd_list}">
<input type="radio" name="typ_cd"
th:value="${item.cd_val}"
th:id="${'id_'+ item.cd_val}"
<label th:text="${item.cd_desc}" th:for="${'id_'+ item.cd_val}"/>
</th:block>
이렇게 바꾸면 value는 건들지 말고 id 와 for 가 매칭이 되서 서버에 데이터 보내기 가능!!!!!!!!!