2011-09-07 2 views
1

우리는 봄과 겨울잠을 사용하여 작은 웹 응용 프로그램을 개발했습니다. 우리의 응용 프로그램은 이미지와 비디오를 올리는 기능이 있으며 우리는 이미지와 비디오를 데이터베이스에 저장합니다 longblob 형식.
우리는 이미 존재하는 자바 스크립트 기반의 "Simple Controls Gallery"http://www.dynamicdrive.com/dynamicindex4/simplegallery.htm을 사용하여 이러한 이미지를 슬라이드 쇼로 표시하려고합니다.데이터베이스를 longblob로 저장 한 슬라이드 쇼로 이미지 렌더링

나는 다음과 같이 컨트롤러에 의해 JSP 페이지로 리디렉션하는 HTML 페이지를 호출하는 것을 시도했다 :

의 ImageList 데이터베이스에서 이미지의 목록입니다
var Imagearray1 = [ 
      <c:set var="count" value="0"/> 
      <c:set var="comma" value=","/> 
      <c:forEach items="${imageList}" var="image" varStatus="loop"> 
      <c:set var="count" value="${count + 1}"/> 
       [$.get('imagedisplay.html');,'http://','${image.imageTitle}','${image.imageDescription}']<c:if test="${fn:length(imageList) != count}"> <c:out value="${comma}"/> </c:if>    
      </c:forEach> 
     ]; 

. 내가 언급 한 링크에서 Imagearray1의 실제 코드를 볼 수 있습니다.

이 갤러리를 사용하여 이미지를 표시하려면 어떻게해야합니까? (또는) 이미지를 슬라이드 쇼로 표시하는 다른 방법이 있다면 나에게 설명해주십시오.

답변

0

올바른 응답 헤더 집합을 따라 DB의 이미지 콘텐츠를 HTTP 응답으로 스트리밍하는 서블릿을 만들어야합니다. 의미없는 $.get('imagedisplay.html'); ajax 호출은 이미지를 반환하는 서블릿에 대한 URL로 대체되어야합니다 (예 :

var images = [ 
    <c:forEach items="${images}" var="image" varStatus="loop"> 
     ['imageservlet/${image.id}', '', '${image.imageTitle}', '${image.imageDescription}']${!loop.last ? ',' : ''} 
    </c:forEach> 
]; 

지도 /imageservlet/*의 URL 패턴 이미지 서블릿과 request.getPathInfo()하여 이미지의 ID (또는 파일 이름)를 얻을 마지막으로 DB에서 InputStream로 선택하고 응답의 OutputStream에 기록. 이 답변에서 기본 예제를 찾을 수 있습니다 : How to retrieve and display images from a database in a JSP page?.

+0

감사합니다. 그것은 효과가있다. – RuLeBrEaKeR

+0

반갑습니다. – BalusC

관련 문제