강의

멘토링

로드맵

Inflearn Community Q&A

hyunji00332681's profile image
hyunji00332681

asked

Spring MVC Part 2 - Backend Web Development Application Techniques

Applying converters to view templates

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

Written on

·

515

·

Edited

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">이기 때문이다.

springmvcMVC

Quiz

Spring이 기본 서블릿 요청과 달리 파라미터 타입 변환을 어떻게 편리하게 처리할까요?

수동으로 String을 각 타입으로 변환해야 합니다.

모든 파라미터를 String으로만 받도록 강제합니다.

String으로 받은 파라미터를 필요한 타입으로 자동 변환해 줍니다.

파라미터 타입을 아예 사용하지 못하게 합니다.

Answer 1

0

yh님의 프로필 이미지
yh
Instructor

안녕하세요. 도토리님

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

감사합니다.

hyunji00332681's profile image
hyunji00332681

asked

Ask a question