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

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

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

입력 폼 처리

th:field 사용시 id와 name을 같이 변경하는 이유가 뭘까요?

해결된 질문

작성

·

312

2

id는 css나 javascript에서 HTML element를 특정할 때 사용하는 거잖아요? 단일 css 파일이나 js 파일을 쓴다고 가정한다면 어플리케이션 전체 html 상에서 그 id는 유일성이 보장되어야지 나중에 화면이 꼬이거나 javascript가 꼬이거나 하는 일이 없을 거 같거든요.

만약 퍼블리셔나 프론트엔드 개발자가

A form에서는 <input id="itemNameA" >

B form에서는 <input id="itemNameB">

라고 잡아놓고 퍼블리싱이나 클라이언트 쪽 개발을 했다면, 나중에 백엔드 개발자가

A form에는

<form th:object = "${itemA}">

<input id="itemNameA"  th:field="*{itemName}">

</form>

B form에는

<form th:object = "${itemB}">

<input id="itemNameB"  th:field="*{itemName}">

</form>

이렇게 해버리면 id를 서로 다른 DTO의 같은 필드명을 사용해버려서 문제가 생길 것 같은데요.

그런데 타임리프 개발자들이 id랑 name 모두 바뀌도록 설정해놓은 것은 무언가 깊은 뜻이 있어서일 것 같은데, 제가 생각하는 문제가 일어날 가능성이 없는 건가요? 제가 무언가 잘못 이해하고 있는 건가요?

답변 1

2

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

안녕하세요. 컴퓨터공부하자님

보통 form을 개발할 때 id와 name을 관례상 많이 맞춥니다.

생각하신 것 처럼 퍼블리싱 결과가 itemNameA라고 하면 id를 사용하는 관련 코드는 itemName으로 모두 변경해서 맞추어야 합니다. 백엔드 개발자가 개발할 때는 이런 부분을 함께 고려해서 개발해야 합니다.

감사합니다.

컴퓨터공부하자님의 프로필 이미지
컴퓨터공부하자

작성한 질문수

질문하기