2011-09-02 5 views
1

WEB-INF에서 test.jspx 파일을 작성했으며 요청 디스패처에 의해 서블릿을 통해 액세스하려고했지만, java.lang.RuntimeException: Cannot find FacesContext이 표시됩니다. 그것은 잘 작동브라우저에서 jspx 페이지에 액세스하지 못하도록하십시오.

<servlet-mapping> 
    <servlet-name>Faces Servlet</servlet-name> 
    <url-pattern>/faces/*</url-pattern> 
    </servlet-mapping> 

나는 .jsp를 사용하는 경우 다음과 같이

web.xml 매핑입니다.

RequestDispatcher dispatcher=getServletContext().getRequestDispatcher("/WEB-INF/test.jspx?sessid="+id); 
dispatcher.forward(request, response); 

답변

1

요청 URL (사용자가 브라우저의 주소 표시 줄에 참조) 의 URL 패턴과 일치해야합니다 (당신이 RequestDispatcher#forward()에 사용) 전방 URL :

내 요청 dispacther 코드는 다음과 같다 FacesServlet을 실행하여 JSF 페이지에서 모든 JSF 구성 요소를 실행하고 처리하도록하십시오.

/faces/*의 URL 패턴에 FacesServlet을 매핑 했으므로 자택이 작성한 서블릿 (이유?)에서 호출하려고하므로 전달 URL이 해당 URL 패턴과 일치해야합니다. 페이지를 /WEB-INF 외부에 넣고 대신 /faces/test.jspx으로 전달하십시오.

관련 문제