• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

view name 리턴에 대해

21.04.13 11:16 작성 조회수 167

0

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

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

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

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

방법이 있을까요?

답변 2

·

답변을 작성해보세요.

0

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

지우영님의 프로필

지우영

질문자

2021.04.14

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

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

감사합니다!

0

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

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

지우영님의 프로필

지우영

질문자

2021.04.14

음.. 가령

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

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

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

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

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

감사합니다!