JAVA/Alfresco

Web Scripts 에서 redirect 하기

자수씨 2014. 2. 14. 17:11


UI 를 구성하는 Web Scripts 는 request 나 response 객체에 접근이 어렵기 때문에 Web Scripts 내에서 redirect 를 하려면 약간의 꼼수를 이용해야 한다.


Response Status 를 이용하는 꼼수인데, Response Status 로 핸들링하는 예제는 아래 더보기를 통해 확인할 수 있다. 




이번 포스팅에서 사용하는 방식은 "Package level template named <format>.status.ftl" 으로 사용하는 Web Scripts 와 같은 패키지(디렉토리)에 위치시키고 js 파일에서 status 를 제어하여 redirect 를 시킬 것이다.



/alfresco/web-extension/site-webscripts/test/package/test.content.get.js



위에서 redirectCondition 이 true 이면, status.code 에 899 값을 설정하고, status.location 에는 redirect 할 url 을, status.redirect 는 true 로 설정을 하고 실행하는 함수 자체를 return 시켜서 아래 코드가 실행되지 않도록 한다.


/alfresco/web-extension/site-webscripts/test/package/html.status.ftl


html.status.ftl 은 "/alfresco/web-extension/site-webscripts/test/package/" 하위에 있는 *.html.ftl 에서 status 값이 설정되면 해당 페이지로 리다이렉트하게 된다.



잘만 이용하면 다양한 기능을 활용할 수 있을 듯 하다.