2012-05-08 1 views
0

문제가 있습니다. 그것은 PrettyFaces 내 webservlet URL 패턴을 무시하는 것 같습니다. 내 꽤-config.xml 파일의PrettyFaces 3.32/JSF 2/Servlet 3.0 관련 문제

일부는

<url-mapping id="searchClassifiedAdsBeanRewrite"> 
    <pattern value="/#{prefixDummy}/#{region:searchBean.region}/#{category:searchBean.category}" /> 
    <view-id value="/searchClassifiedAds.html" /> 
</url-mapping> 

내 서블릿 URLPATTERN 지금 내 webservlet의 URLPATTERN가 호출되지 않습니다 내 예쁜 얼굴 정의에 적용 내가 URL을 가질 때마다

@WebServlet(urlPatterns = {"/images/*", "/images/temp/*"}) 

다음과 같습니다. 첫 번째 또는 두 번째 URL 패턴이 아닙니다.

나는 꽤 얼굴이 일치하지 않으면 모든 것이 작동합니다. (내가 # {prefixDummy} 및 하드 코드를 변경하는 경우에도 작동하지 않습니다.

를 동적 이미지를 표시하기 위해 내가 파일 서블릿 (BalusC에서 사실의 예를) 사용하고 있습니다!

하나를 , 감사

답변

1

감사 도움이 PrettyFaces 지원 포럼 아마 당신이이 질문에 대한 시작하려는 장소 : http://ocpsoft.org/support/forum/prettyfaces-users

을하지만 당신은 여기에 요청 이후 : 기본적으로 당신이보고있는 것은 예상 된 동작입니다. PrettyFaces는 주어진 패턴과 일치하는 모든 인바운드 서블릿 요청, 전달, 오류 또는 포함을 일치시킵니다. 이미지 URL이 해당 패턴과 일치하면 다른 URL과 마찬가지로 Pretty URL 매핑과 일치하게됩니다.

다른 URL과 충돌하지 않도록 패턴을 좀 더 자세히 제한해야합니다.

이것은 다시 쓰기 코어 프레임 워크 (http://ocpsoft.org/rewrite/)가 포함되는 경우 PrettyFaces 4 해결하기 쉬워진다. 기존 서블릿으로 매핑되는 URL을 제외하는 동안 당신은 URL과 일치 할 수있을 것입니다)

이것은 재 작성 이미 수 있습니다 :.

ConfigurationProvider.begin() 
.addRule(Join.path("/{prefixDummy}/{region}/{category}").to() 
     .when(Not.any(ServletMapping.includes("/{prefixDummy}/{region}/{category}"))) 
     .where("region").bindsTo(PhaseBinding.to(El.parameter("searchBean.region"))) 
     .where("category").bindsTo(PhaseBinding.to(El.parameter("searchBean.category")))) 

공지 부정적인 제약 : ServletMapping.includes("/{prefixDummy}/{region}/{category}") 일치에서 규칙을 방지 컨테이너의 서블릿이 요청을 처리 할 수있는 경우

+0

안녕하세요 링컨과 빠른 답장을 보내 주셔서 감사합니다. 나는 전문가가 아니에요하지만 난 다음과 같은 패턴/테스트/{지역}/{카테고리} 다음과 같은 것들/이미지/* 및/이미지/온도/* 감사합니다 :) – Dimman

+0

무시 볼 수 없습니다 이미지 URL 인 경우 : /images/foo/bar.jpg, 다음 패턴 "/ {prefixDummy}/{지역}/{범주}"이미지를 일치합니다. – Lincoln

+0

/images/bar.jpg도 작동하지 않으며 심지어 /image-hardcoded.jpg 만/* 작동합니다 :/ 답장을 보내 주셔서 감사합니다. 감사 :) – Dimman