2010-02-23 4 views
1

현재 스프링 MVC를 사용하고 있습니다.Spring을 사용하여 출력 스트림을 플러시하고 모델 뷰를 반환하려면 어떻게해야합니까?

사용자가 양식을 제출하면 컨트롤러가 출력 스트림에 파일을 쓰고 플러시하여 웹 페이지를 저장하는 웹 페이지가 있습니다. 그러나 나는 그 contoller에게 modelview를 돌려 주면서 사용자를 다른 페이지로 데려 가기를 원할 것이다.

현재 출력 스트림이 플러시되고 modelview가 반환 될 때 "getOutputStream()이이 응답에 대해 이미 호출되었습니다"라는 오류로 끝납니다. (일반적으로이 오류를 피하기 위해 출력 스트림을 플러시 한 후 null을 반환합니다.)

그래서 내가 묻는 것은 출력 스트림을 플러시하여 사용자가 파일을 다운로드하고 사용자가 다른 페이지로 이동하도록 modelview를 반환 할 수있는 방법이 있습니까?

건배.

답변

1

내가 사용하는 웹 프레임 워크가 무엇이든 관계없이 정확히이 가능하다고 생각하지 않습니다. 내가 생각할 수있는 최선의 대안은 Sourceforge.net이 다운로드를 처리하는 방식으로하는 것입니다. '다운로드가 곧 시작됩니다.', here's an example 페이지가 표시됩니다. (페이지의 다운로드 링크를 클릭하십시오)

1

출력 스트림에 이미 쓰기를 시작했다면 확실히 2 페이지로 리디렉션 할 수 없습니다. 이것은 하나의 MVC 프레임 워크가 아닌 서블릿 스펙의 일부입니다

관련 문제