포틀릿은 단편 출력만 전달하는 반면, 일반적으로 서블릿은
문서 출력을 전달합니다. 그러나 PortletServingServlet 서블릿(FileServingServlet
서블릿과 유사)을 사용하여 서블릿과 같이 포틀릿을 처리할 수 있습니다.
이 태스크 정보
기본 문서 서블릿 필터(DefaultFilter 필터)를
PortletServingServlet 서블릿에 적용하면 문서에 있는 포틀릿 컨텐츠를
리턴합니다. 이 필터는 요청에만 적용되며 RequestDispatcher 메소드를 사용하는
포함 또는 전달에는 적용되지 않습니다. 포틀릿의 컨텐츠를 문서에 포함하는 데
사용하는 서블릿 필터를 문서 서블릿 필터라고 합니다. .xml
파일에서 추가 문서 서블릿 필터를 정의할 수 있습니다. com.ibm.wsspi.portletcontainer.util에서 FilterRequestHelper 속성을
제공하여 요청 관련 필터 체인 및 포틀렛 정보를 분석하는 경우 문서 서블릿 필터를
지원합니다. 문서 변환을 한 번에 완료할 수 있도록 문서 Servlet 필터의 경로를 재지정하는
마커로 동적 포틀릿 제목을 지원하는 데 사용됩니다.
프로시저
- 새 문서 서블릿 필터를 추가하십시오. 필터 기능은
서버 기능이므로 서버의 필터 기능을 사용하려면 모든 필터를 서버에
설치해야 합니다. 서버 레벨의 모든 클래스 또는 라이브러리 디렉토리에서
필터를 사용할 수 있어야 합니다. JAR(Java™ archive) 파일의 루트 내의 plugin.xml 파일에서 필터를 등록해야 합니다. 다음은 plugin.xml 파일에 필터를 등록하는 방법에 대한 예입니다.
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin id="sample.plugin" name="Customer_Plugin" provider-name="Customer" version="1.0.0">
<extension point="com.ibm.ws.portletcontainer.portlet-document-filter-config">
<portlet-document-filter class-name="sample.filter.CustomFilter" order="200" />
</extension>
</plugin>
- 옵션: 요청 속성으로 동적 제목을 제공하여 동적 포틀릿 제목을 설정하십시오. PortletServingServlet
서블릿은 요청 속성으로 동적 제목(FilterRequestHelper.DYNAMIC_TITLE)을
제공하여 동적 포틀릿 제목을 지원합니다. 이 속성이 포틀릿에 설정된
경우 속성은 동적 포틀릿 제목을 리턴합니다. 그렇지 않으면
정의된 경우 portlet.xml 파일의 정적 포틀릿 제목을 리턴합니다.
DYNAMIC_TITLE = ‘javax.portlet.title'
DefaultFilter는
이 요청 속성을 사용하여 단편을 문서로 변환하는 동안 문서 제목을
설정합니다. 필터가 브라우저 캐싱 또는 동적 포틀릿 제목을 지원하도록 하려면
완전한 포틀릿 컨텐츠를 캐시해야 합니다.
- 동적 제목을 지원하도록 포틀릿 렌더링 호출에서 캐시 핸들을 지정하십시오.
문서 서블릿 필터로 경로 재지정
문서 서블릿 필터는
요청 속성으로 마커(FilterRequestHelper.REDIRECT)를 설정할 수 있습니다.
이 마커를 설정하면 렌더링 호출 전에 포틀릿 조치를 호출한 후 문서 서블릿 필터로
포틀릿 컨테이너를 리턴할 수 있습니다. REDIRECT = ‘com.ibm.websphere.portlet.action' 및 REDIRECT_VALUE = 'redirect'와
같은 상수를 정의해야 합니다. DefaultFilter는 이 요청 속성을 사용하여 동적 제목을
지원하도록 포틀릿 렌더링 호출에서 특별한 캐시 처리를 제공합니다.
- 포틀릿의 단편을 올바른 문서로 변환하십시오. 문서 변환은
한 번만 완료해야 합니다. 따라서 각 문서 서블릿 필터를 올바로 사용하려면
이전에 단편이 문서로 변환된 적이 없어야 합니다. 문서 서블릿 필터가 단편을 문서로
변환하는 경우 요청 속성 FilterRequestHelper.DOCUMENT를
FilterRequestHelper.DOCUMENT_VALUE로 설정해야 합니다. 이 요청 속성은 변환을 계속
완료해야 하는지 여부를 표시합니다. DOCUMENT
= ‘com.ibm.websphere.portlet.filter' 및 DOCUMENT_VALUE
= 'document'와 같은 상수가 정의됩니다. DefaultFilter는 이 요청 속성을
사용하여 단편을 HTML(Hypertext Markup Language) 문서로 변환해야 하는지 여부를
확인합니다. 예를 들어, 이 사항을 확인하면 앞서 다른 문서 서블릿 필터가
해당 단편 대신 올바른 WML(Wireless Markup Language) 문서로 변환할 수 있습니다.