我已经创建了一个在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中的多个过滤器的语法的例子,所以我不知道我的语法是正确的。任何帮助,将不胜感激。