인프런 커뮤니티 질문&답변

도토리님의 프로필 이미지
도토리

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

뷰 템플릿에 컨버터 적용하기

th:field="*{ipPort}"에서 IpPortToStringConverter가 선택된 이유

작성

·

435

·

수정됨

2

[ConverterController.java]
public String converterForm(Model model) {
    IpPort ipPort = new IpPort("127.0.0.1", 8080);
    Form form = new Form(ipPort);
    model.addAttribute("form", form);

    return "converter-form";
}

[converter-form.html]
<form th:object="${form}" th:method="post">
    th:field <input type="text" th:field="*{ipPort}"><br/>
    th:value <input type="text" th:value="*{ipPort}">
</form>

th:field가 컨버터로 IpPortToStringConverter를 선택한 이유가 궁금한데요. 추측해본 이유는 다음과 같습니다.

th:field가 value 속성을 만들 때, form.getIpPort()에 컨버터를 적용하려고 한다. 그런데, form.getIpPort()의 타입은 IpPort이다. 그래서, 컨버팅 대상은 IpPort가 되는 것이다.

String으로 컨버팅되는 이유는 <input type="text">이기 때문이다.

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 도토리님

생각하신 내용이 맞습니다.

감사합니다.

도토리님의 프로필 이미지
도토리

작성한 질문수

질문하기