2010-04-20 5 views
0

내가 내 웹 응용 프로그램의 메커니즘을 할 필요 : 로고와 사용자 정의 페이지를 표시 할 CompanyNameit에 따라 mydomain.com/CompanyName를 입력합니다JSF 서블릿 아치 도움말은 아래에 설명 된대로

사용자, 그리고 난 소요됩니다 해당 요청을 다시 구문 분석 할 때 각 구문 분석 된 CompanyName 및 세션에 저장된 하나의 매개 변수 및 일치하는 경우 응용 프로그램이 사용자의 데이터로 요청 된 페이지를 표시합니다 .else 그것은 로그인 페이지로 리디렉션됩니다. 그리고 중요한 것은 JSF 아치에서이 것을 원한다는 것입니다.

은 내가 선호하는 서블릿에 요청을 전달합니다 모든 요구를 해결하고 그것을 분석하고 서블릿을 복용했지만, 문제는, 그것이 동일한 컨트롤러 서블릿에 해결로 다시 루프에가는 것입니다

+0

아직 답변을 얻지 못했습니다. –

답변

3

당신 위상 수신기를 통해이를 수행 할 수 있습니다. (JSF 2.0을 사용하는 경우, 또는 사용하여 주석) 당신은

<lifecycle> 
    <phase-listener>com.yourcompany.CompanyPhaseListener</phase-listener> 
</lifecycle> 

가 당신이 현재 요청 URI를 얻을 수있는에서 FacesContext에 액세스 할 수 있습니다 faces-config.xml에서 세계를 정의 할 수 있습니다. 그것을 파싱하고 요청에 적절한 속성을 저장하십시오. 나중에이 속성을 페이지에서 읽을 수 있습니다.

위상 리스너는 지정된 단계 (들)에 실행되고, 아마 당신은, PrettyFaces을 확인 URL이 브라우저에 표시되는 방식에 영향을 미치는 경우 RENDER_RESPONSE

을 선택해야합니다.

+0

하지만 문제는 입니다. 어떻게 mydomain.com/something/companyname/pages/somepage.jsf 패턴을 얻을 수 있습니까? 브라우저의 URL에는 companyName이 포함되어야합니다. –

+0

참고 사항 - 하위 도메인 (예 : - companyname.yourdomain.com')을 사용하지 마십시오 (내 업데이트 참조). – Bozho

+0

아니요, URL 패턴 만 사용하여 처리하고 싶지 않습니다. JSF를 사용하여 관리 할 수는 없습니까? 오직, preety없이 얼굴? –

1

내가 선호 서블릿에 요청을 전달한다 모든 요구를 해결할하고 파싱 및 서블릿을 고려했지만, 문제는, 그것이 동일한 컨트롤러 서블릿 해결로서 다시 루프 간다

대신 Filter을 사용하십시오. 기본적으로 전달 된 요청을 수신하지 않으므로 전달시 무한 루프가 발생하지 않습니다.

+0

이잖아, 내가 문제를 직면하고이 패턴을 사용하여 이 는보기 얼굴-config.xml에에서 해결되는 경우를 제외하고 잘 작동 한 후 URL 패턴이 아닐 것 필요한 하나, 나는 예쁜 얼굴을 사용하여 패턴에서 뷰를 해석 할 수 있지만 faces-config.xml에서 뷰를 해석 할 때 원하는 URL 패턴을 원한다는 것을 의미합니까? –

+0

여기 prettyFaces를 사용하여 만든 샘플 응용 프로그램을 첨부했습니다. 이 URL에 액세스합니다. 에 http : // yourserver를 : 포트/MavenJSFSample/회사 명/로그인 클릭 버튼 IT는 HTTP를 얻을 위스콘신 : // yourserver를 : 포트/MavenJSFSample/회사 명/home.jsf 내가 원하는 같은 몇 가지 HTTP :// yourserver : port/MavenJSFSample/companyName/home http://www.4shared.com/file/M9h7dt9S/MavenJSFSample.html]MavenJSFSample.zip –

+0

BalusC에서 귀하의 의견을 기다리고 있습니다. –

관련 문제