스프링과 JPA 기반 웹 애플리케이션 개발 #42 관심 주제 조회
해당 내용은 인프런, 스프링과 JPA 기반 웹 애플리케이션 개발의 강의 내용을 바탕으로 작성된 내용입니다.
강의를 학습하며 요약한 내용을 출처를 표기하고 블로깅 또는 문서로 공개하는 것을 허용합니다 라는 원칙 하에 요약 내용을 공개합니다. 출처는 위에 언급되어있듯, 인프런, 스프링과 JPA 기반 웹 애플리케이션 개발입니다.
제가 학습한 소스코드는 https://github.com/n00nietzsche/jakestudy_webapp 에 지속적으로 업로드 됩니다. 매 커밋 메세지에 강의의 어디 부분까지 진행됐는지 기록해놓겠습니다.
@GetMapping(TAGS_MAPPING_PATH)
public String updateTagForm(@LoginAccount Account loginAccount, Model model) {
model.addAttribute(loginAccount);
model.addAttribute("tags"
, loginAccount.getAccountTags()
.stream()
.map(AccountTag::getTag)
.map(Tag::getTitle)
.collect(Collectors.toList())
);
return TAGS_MAPPING_PATH;
}
현재 Account
에서 갖고 있는 AccountTags
정보를 그대로 내려주도록 했다. 이후에, Tag
내부의 tagTitle
필드를 List<String>
형태로 바꾸어서 내려주었다.
...
<input id="tags" type="text" name="tags" th:value="${#strings.listJoin(tags, ',')}"
class="tagify-outside" aria-describedby="tagHelp">
...
"${#strings.listJoin(tags, ',')}"
를 이용하면, List
의 내용을 "element1,element2,element3"
과 같은 형식으로 바꿀 수 있다. 그렇게 value
에 넣어주면 Tagify
가 input
값을 해석하여 적절히 보여준다.