문제

MVC 응용 프로그램 (이 경우 스프링 MVC 사용)의 맥락에서 DB에 저장된 이미지 경로가있는 경우. 보기에 어떻게 표시 할 수 있습니까?

컨트롤러가로드 한 다음 뷰로 전달하는 것이 작업입니까? 그렇다면 JSP를 사용하여 스프링 MVC에서 어떻게 이루어 집니까?

감사

도움이 되었습니까?

해결책

모델의 일부로 전달하는 것은 컨트롤러의 작업일지도 모르지만 이미지 획득을 다루는 것이 서비스 계층의 작업이라고 생각합니다.

업데이트 : Juregen Hoeller는 주석이 달린 컨트롤러로 수행하는 방법을 보여줍니다. 여기.

다른 팁

실제로 실제 이미지를 얻는 방법과 사용 방법에 따라 다릅니다.

예를 들어 이미지가 일류 시민 인 사진 공유 웹 사이트를 구축하는 경우 더 피니 모답변 - 서비스 계층으로로드하고 모델의 일부 여야합니다.

반면에 해당 이미지는 순전히 프리젠 테이션이 자연스럽고 웹 앱 내에서 공개 이미지로 사용할 수있는 경우 (예 : 일부 프로세스를 빨간색 / 노란색 / 녹색 표시등으로 표시 할 수 있음) 렌더링 할 수 있습니다. 직접. 물론이 시나리오에서는 데이터베이스의 실제 이미지 경로를 유지하는 것이 다소 이상합니다. 이미지 경로가 자원 번들 어딘가에 저장 될 것이라고 상상합니다.

후자의 접근법을 사용하면 아마도 당신이 가진 이미지 경로는 일부 "기본"폴더와 관련이 있으며 전체 이미지 경로는 다음과 같습니다. ${prefix}/${base}/${imagePath}:

  • prefix, 배포 구성에 따라 구성 어딘가에 명시 적으로 지정 될 수 있습니다 (예 : 전용 이미지 서버가있는 경우). /context 어디 context WebApp이 배포되는 경로입니다 (하나의 간단한 서버에서 모든 것이 제공되는 경우,로드 밸런싱 등이 없습니다 ...)
  • base 구성에서 가져올 것입니다 (또는 비어있을 수 있음)
  • imagePath 모델에서 얻는 것입니다

JSP를 통해 직접 이미지 경로를 렌더링하는 것은 위의 접근 방식을 사용하여 사소해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top