2010-08-11 5 views
1

JSF 2.0을 사용하여 웹 사이트를 구축하고 있습니다. 이클립스 그래서 내가 "로컬 호스트 /을 myApp/ /index.xhtml에 직면"방문해야 내 응용 프로그램을 보려면 다음 web.xml 파일JSF 시작 페이지를 설정하는 가장 좋은 방법은 무엇입니까?

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

를 생성합니다. 다음

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

또는 설정으로 web.xml을 변경

: 나는 "로컬 호스트 /을 myApp/index.xhtml"

내가이이 옵션을 참조를 방문하여 직접보고하는 것을 선호 faces/index.xhtml에 자바 스크립트/메타를 직접 수행하는 내 기본 디렉토리에 index.xhtml을 올리십시오.

당신은 어느 것이 더 낫다고 생각합니까? 또는 당신이 그것을 어떻게 할 다른 방법이 있습니까?

답변

1

FacesServlet에 모두 입력하고 요청에 매핑하지 마십시오. 정적 (비 JSF) 요청이 전체 JSF 라이프 사이클을 통과하기를 원하지는 않습니다. 불필요한 오버 헤드 만 추가합니다. 오히려 FacesServleturl-pattern*.xhtml으로 매핑하십시오.

다른 xhtml 파일도 JSF 팩토리를 거치지 않아도되며 일반적으로 사용되는 *.jsf처럼 다른 url-pattern을 선택하십시오. 실제 파일 이름을으로 바꿀 필요가 없습니다. FacesServlet은 자동으로 올바른 리소스를 찾습니다.

확실히 홈 페이지에 대해 JS/메타 리디렉션을 사용하지 마십시오. 에 <welcome-file>으로 신고하십시오. 최신 버전을 갖는 제대로 구성된 경우 말했다


, Eclipse는 기본적으로 *.jsfurl-pattern에 매핑 된 FacesServletweb.xml를 자동 생성한다. 최신 버전 (Helios)을 사용하고 Eclipse에서 모든 것을 올바르게 수행하는지 확인하십시오 (프로젝트 패싯 구성).

+0

안녕하세요, 또한 제가 생각한 옵션입니다 (.xhtml 만 매핑). Eclipse Helios를 사용하고 .xhtml 파일을 기본적으로 생성하고 위의 web.xml을/faces/..의 servletmapping과 함께 생성합니다. JSF 2.0에서 .jsf가 더 이상 권장되지 않습니다. 동적 페이지 만 있기 때문에 (i18n 때문에) 모든 .xhtml 매핑이 잘되어야합니다. – Tim

+0

아, 그 다음 특정 Eclipse 설정이어야합니다. JSF 2.0에서 더 이상 권장되지 않는 것은 Facelets 대신 JSP를 사용하는 것입니다. :) – BalusC

관련 문제