2011-12-02 4 views

답변

2

JSF 1.x에서 HttpServletResponseExternalContext#getResponse()으로 가져온 다음 setStatus()을 호출해야합니다. 이것은 또한 기본적으로 새로운 JSF 2.0 메소드가 커버하고있는 것입니다.

HttpServletResponse response = (HttpServletResponse) externalContext.getResponse(); 
response.setStatus(HttpServletResponse.SC_NOT_FOUND); 
// ... 
+0

감사! 그리고'getResponse()'의 리턴을'HttpServletResponse'에 캐스트하는 것이 안전한가요? 왜 던지기위한 필요성? – elias

+0

예 JSP/Servlet 웹 응용 프로그램에서 JSF를 실행하는 것이 안전합니다. JSF는 포틀릿 웹 애플리케이션의 최상위에서 사용될 수도 있지만 캐스트가 실패합니다. 'ExternalContext'의 javadoc을 참조하십시오. 기존 델리게이트 메소드의 동작에서 서블릿과 포틀릿의 차이점을 설명합니다. http://docs.oracle.com/javaee/6/api/javax/faces/context/ExternalContext.html – BalusC

+0

매우 도움, 고마워요! – elias

관련 문제