스프링 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로 테스트되었지만 문제가 남아 있습니다. 제목과 질문 설명을 수정했습니다.
사용중인 CharResponseWrapper의 정규화 된 클래스 이름을 제공 할 수 있습니까? –
@TomMcIntyre 형식 선언에 FQCN을 추가 하시겠습니까? 아니면 요청하고 있습니까? 어쨌든 com.app.web.CharResponseWrapper입니다. –