我已經創建了一個在JBoss 7.2的Gatein下運行的portlet。 (準確地說,這是一個轉換爲portlet的web應用程序。)我的portlet,Gatein CDI過濾器和Primefaces Upload過濾器(因爲我的portlet需要處理上傳)需要兩個過濾器。在我的portlet.xml文件,我想指定兩個過濾器,像這樣:在portlet.xml中指定多個過濾器(gatein)
<filter>
<filter-name>PortletCDIFilter</filter-name>
<filter-class>org.gatein.cdi.PortletCDIFilter</filter-class>
<lifecycle>ACTION_PHASE</lifecycle>
<lifecycle>EVENT_PHASE</lifecycle>
<lifecycle>RENDER_PHASE</lifecycle>
<lifecycle>RESOURCE_PHASE</lifecycle>
</filter>
<filter>
<filter-name>PrimeFacesFileUploadFilter</filter-name>
<filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
<lifecycle>ACTION_PHASE</lifecycle>
<lifecycle>EVENT_PHASE</lifecycle>
<lifecycle>RENDER_PHASE</lifecycle>
<lifecycle>RESOURCE_PHASE</lifecycle>
</filter>
<filter-mapping>
<filter-name>PortletCDIFilter</filter-name>
<portlet-name>FleetManagementPortlet</portlet-name>
</filter-mapping>
<filter-mapping>
<filter-name>PrimeFaces FileUploadFilter</filter-name>
<portlet-name>FleetManagementPortlet</portlet-name>
</filter-mapping>
然而,當我嘗試訪問門戶,我得到在日誌文件中的錯誤,說沒有名爲FleetConnector門戶。 FleetManagementPortlet(我的戰爭文件是FleetConnector.war)。有趣的是,在我添加第二個過濾器和過濾器映射塊之前,即使portlet名稱相同,我也沒有收到任何錯誤。
我一直沒有找到任何指定portlet.xml中的多個過濾器的語法的例子,所以我不知道我的語法是正確的。任何幫助,將不勝感激。