문제
MVC 응용 프로그램 (이 경우 스프링 MVC 사용)의 맥락에서 DB에 저장된 이미지 경로가있는 경우. 보기에 어떻게 표시 할 수 있습니까?
컨트롤러가로드 한 다음 뷰로 전달하는 것이 작업입니까? 그렇다면 JSP를 사용하여 스프링 MVC에서 어떻게 이루어 집니까?
감사
해결책
모델의 일부로 전달하는 것은 컨트롤러의 작업일지도 모르지만 이미지 획득을 다루는 것이 서비스 계층의 작업이라고 생각합니다.
업데이트 : Juregen Hoeller는 주석이 달린 컨트롤러로 수행하는 방법을 보여줍니다. 여기.
다른 팁
실제로 실제 이미지를 얻는 방법과 사용 방법에 따라 다릅니다.
예를 들어 이미지가 일류 시민 인 사진 공유 웹 사이트를 구축하는 경우 더 피니 모답변 - 서비스 계층으로로드하고 모델의 일부 여야합니다.
반면에 해당 이미지는 순전히 프리젠 테이션이 자연스럽고 웹 앱 내에서 공개 이미지로 사용할 수있는 경우 (예 : 일부 프로세스를 빨간색 / 노란색 / 녹색 표시등으로 표시 할 수 있음) 렌더링 할 수 있습니다. 직접. 물론이 시나리오에서는 데이터베이스의 실제 이미지 경로를 유지하는 것이 다소 이상합니다. 이미지 경로가 자원 번들 어딘가에 저장 될 것이라고 상상합니다.
후자의 접근법을 사용하면 아마도 당신이 가진 이미지 경로는 일부 "기본"폴더와 관련이 있으며 전체 이미지 경로는 다음과 같습니다. ${prefix}/${base}/${imagePath}
:
prefix
, 배포 구성에 따라 구성 어딘가에 명시 적으로 지정 될 수 있습니다 (예 : 전용 이미지 서버가있는 경우)./context
어디context
WebApp이 배포되는 경로입니다 (하나의 간단한 서버에서 모든 것이 제공되는 경우,로드 밸런싱 등이 없습니다 ...)base
구성에서 가져올 것입니다 (또는 비어있을 수 있음)imagePath
모델에서 얻는 것입니다
JSP를 통해 직접 이미지 경로를 렌더링하는 것은 위의 접근 방식을 사용하여 사소해야합니다.