2017-12-25 61 views
1

슬링 서블릿에서 sling.servlet.prefix 옵션을 사용하려고합니다. 내 이해에 따라 resourceType에 상대 경로를두고/apps 또는/libs에 접두어를 추가하면 해당 경로를 직접 가리 킵니다. 그러나 그것은 일어나지 않습니다.왜 슬링 서블릿에 sling.servlet.prefix가 필요합니까?

> @Component(service=Servlet.class, 
>   property={ 
>     Constants.SERVICE_DESCRIPTION + "=Simple Demo Servlet", 
>     "sling.servlet.methods=" + HttpConstants.METHOD_GET, 
>     "sling.servlet.resourceTypes="+ "community-components/components/componentpage", 
>     "sling.servlet.extensions=" + "sample", 
>     "sling.servlet.prefix=" + "/apps" 
>   }) 

도와주세요.

답변

4

sling.servlet.prefix의 값은 /으로 시작해야 해당 값이 접두사로 적용됩니다. 그렇지 않으면, 리소스 리졸버로부터의 검색 경로 엔트리의 인덱스가 접두어로서 사용되는 정수로서 파싱 될 수있는 정수 또는 스트링을 기대한다.

접두어가 /으로 시작하지 않았기 때문에 접두사가 정수로 변환하려고 시도하고 유효한 정수가 아니기 때문에 무시됩니다.

귀하의 경우 접두어는 /apps/입니다.

접두어에 대한 자세한 내용은 here입니다.

+0

예를 들어 설명해주십시오. –

+0

숫자 값으로 작업 중입니다. 하지만/as/apps 또는/libs로 시작하는 접두어를 추가하면 항상 예외가 있습니다. –

+1

@ ShivaniGarg 대신'/ apps /'또는'/ libs /'를 사용하십시오. 내 대답도 마찬가지로 업데이트되었습니다. – rakhi4110