강의

멘토링

커뮤니티

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

지우영님의 프로필 이미지
지우영

작성한 질문수

스프링 웹 MVC

핸들러 메소드 7부 폼 서브밋 에러 처리

view name 리턴에 대해

작성

·

280

0

handler단에서 String으로 뷰 파일의 path를 return하는데,

강의 때도 말씀해주신 것처럼 String으로 작성한다는 것 자체가

위험성이 있다고 생각이 드는데요, 혹시 이것을 보완하기 위해

자동으로 뷰 네임과 매칭되는 상수를 참조할 수 있다던가 하는

방법이 있을까요?

답변 2

0

백기선님의 프로필 이미지
백기선
지식공유자

음.. 각각의 핸들러에서는 그럼 저 상수를 어떤 규칙으로 참조해야 하는걸까요? 원하신다면 얼마든지 구현할 수 있는데 로직이 분명해야 구현할 수 있겠죠?

지우영님의 프로필 이미지
지우영
질문자

규칙이 명확하게 있다면 구현은 가능한거군요.

나중에 이와 관련해서 규칙을 명확하게 세워보고 직접 구현해보도록 하겠습니다.

감사합니다!

0

백기선님의 프로필 이미지
백기선
지식공유자

음..  핸들러의 리턴 타입을 void로 사용하고 뷰 이름에 해당하는 문자열을 리턴하지 않으면 스프링 MVC가 요청 URI 정보를 기반으로 뷰 이름을 추측해서 뷰를 찾아내는 방법이 있기는 하지만 유연하질 않아서 잘 안쓰이고요.

말씀하시는 "자동으로 뷰 네임과 매칭되는 상수를 참조"한다는 것이 구체적으로 어떤건지 코드와 함꼐 설명해 주시면 좀 더 이해하기 좋을 것 같네요.

지우영님의 프로필 이미지
지우영
질문자

음.. 가령

templates/events/list.html과 templates/form/name.html 파일이 생성되었을 때 아래와 같이

ViewFileMapping과 같은 형태의 클래스를 스프링에서 만들어

"/events/list" 대신 ViewFileMapping.EVENTS_LIST로 사용하는 방식이 되겠습니다.

아마 컴파일 타임에는 이렇게 하는것이 불가능할 것 같기는 한데 혹시나 이런 방법은 없는가해서 질문을 드립니다.

좀 더 궁극적인 질문은 "컴파일 타임에 뷰를 실수 없이 매칭할 수 있는 방법이 있는가?"가 될 것 같습니다.

감사합니다!

지우영님의 프로필 이미지
지우영

작성한 질문수

질문하기