2013-07-02 3 views
2

CQ JSP에서는 currentPage.getPath()를 호출하여 currentPage 객체에 쉽게 액세스 할 수 있습니다. 하지만 어떤 스크립트를 제거하려고하고 그들을 모델 클래스로 분리하고 현재 페이지 개체에 액세스하는 방법을 알아낼 수 없습니다. 나는 같은 것을 할 수 있다고 생각 :CQ5 - 모델 클래스의 currentPage 슬링

public void setResource(Resource resource){ 
    resource.getPath() 
} 

을하지만 그 같은 반환 : 난 그냥 /내용/홈/서브 페이지/을 반환 찾고 있어요

/content/home/subPage/jcr:content/banner 

합니다. 경로를 얻기 위해 리소스를 사용하려고하지만이 작업을 수행 할 수있는 리소스가 없습니다. 나는 이것이 내가 간과하고있는 작은 것이어야 함을 안다. 도와 주셔서 감사합니다!

답변

12

페이지 자체가 아닌 페이지 내부의 구성 요소 리소스를 호출하기 때문에 jcr : content/banner가 표시됩니다.

당신이하기 PageManager를 사용할 수있는 구성 요소에서 현재 페이지를 얻을 :.

PageManager를 PageManager를 = resource.getResourceResolver() adaptTo (PageManager.class);

페이지 currentPage = pageManager.getContainingPage (resource);

+0

굉장! 완벽하게 일 해줘서 고마워! –