개인 자료 정리 홈페이지 입니다.

Note > thymeleaf너무 복잡한거 아닌가?By a3040, Published on Invalid Date

익숙하지 않아서 그럴거라고 생각합니다. 하지만

<td class="border-2 mt-2 p-2" th:text="${question.title}" th:onclick="_load([[ @{/admin/questions/{topicId}/{id}(id=${question.id}, topicId=${topicId})} ]] )"></td>

<td class="border-2 mt-2 p-2" th:text="${#temporals.format(question.createdAt, 'yyyy.MM.dd')}"></td>


const list_url = /*[[@{/admin/questions/list/{topicId}(topicId=${topicId}) }]]*/'';

이런 형태를 쓰다보면 현타가 오는군요.

하지만 Thymeleaf는 서버 측에서 동적으로 HTML을 생성하는데 사용되는 템플릿 엔진입니다..

HTML과 Thymeleaf 태그를 혼합해서 사용하면 웹 페이지를 동적으로 생성할 수 있습니다.

Thymeleaf에서 지원하는 유연하고 강력한 기능들 중 하나가 자바 코드를 HTML 코드로 직접 작성할 수 있는 것입니다.

이는 자바 개발자들이 HTML 태그와 자바 코드를 섞어서 작업할 수 있어서 생산성을 높일 수 있는 장점이 있습니다.



const topicId = /*[[${topicId}]]*/'';
const loc_list = /*[[@{/admin/questions/list }]]*/'';


_list('/admin/topic/list', 'topic');

/*
if (mode == "list") {
//    const init_loc_list = `${loc_list}/[[${topicId}]]`;  //이해를 못해서 javascript와 인라인표현식 동시사용
    const init_loc_list = `${loc_list}/${topicId}`; //아 위에서 javascript 변수 topicId가 됐었지..
    _list(init_loc_list, 'adminBody');
}  
*/


if (mode == "list") {
    go_list(topicId); //...
}

function go_list(topicId) {
    const go_loc_list = `${loc_list}/${topicId}`;
    _list(go_loc_list)
}
 



----장점이 느껴질때까지 한번 써봐야군요.