2012-12-30 3 views
0

스프링 MVC 3.1.3 및 UI가 Dojo 1.4로 개발 된 앱이 있습니다. 응용 프로그램에는 dojo.io.iframe.send을 통해 업로드 된 이진 파일을 처리하는 컨트롤러가 거의 없습니다. 컨트롤러는 내가 web.xml 파일에 정의 된 사용자 정의 필터를 구현했습니다스프링 MVC : 스프링 컨트롤러에서 보낸 응답을 수정하는 방법은 무엇입니까?

<html><body><textarea>{my json response}</textarea></body></html>. 

둘러싸여 할 수있는 JSON 응답을 보냅니다

<filter> 
    <filter-name>dojoIframeFilter</filter-name> 
    <filter-class>com.app.web.MultipartAjaxFilter</filter-class> 
</filter> 
<filter-mapping> 
    <filter-name>dojoIframeFilter</filter-name> 
    <url-pattern>/*</url-pattern> 
</filter-mapping> 
필터의 doFilter는 http://www.oracle.com/technetwork/java/filters-137243.html

에서 촬영이 동작을 가지고

public void doFilter(ServletRequest request, ServletResponse response, 
     FilterChain chain) throws IOException, ServletException { 

    if (request.getContentType() != null 
      && request.getContentType().contains("multipart/form-data")) { 
     CharResponseWrapper wrapper = new CharResponseWrapper((HttpServletResponse) response); 

     chain.doFilter(request, wrapper); 
     log.info(wrapper.toString()); 
     //Modify response here 
    } 
    else { 
     chain.doFilter(request, response); 
    } 
} 

래퍼의 출력이 비어 있습니다. 또한 스프링의 디스패처 서블릿 용 사용자 정의 필터를 배치하고 doFilter 내부의 if 블록을 사용하지 않는 등 여러 가지 조합을 시도했습니다. 또한 실패한 Spring 인터셉터를 작성하려고했습니다. 아무도 다른 아이디어를 제안 해 주시겠습니까?

미리 감사드립니다.

업데이트 : 스프링 보안이 비활성화되고 일반 스프링 mvc로 테스트되었지만 문제가 남아 있습니다. 제목과 질문 설명을 수정했습니다.

+0

사용중인 CharResponseWrapper의 정규화 된 클래스 이름을 제공 할 수 있습니까? –

+0

@TomMcIntyre 형식 선언에 FQCN을 추가 하시겠습니까? 아니면 요청하고 있습니까? 어쨌든 com.app.web.CharResponseWrapper입니다. –

답변

관련 문제