WEB开发网
开发学院软件开发Java JSR 286 Portlet 的新特性,第 3 部分: Portlet 过... 阅读

JSR 286 Portlet 的新特性,第 3 部分: Portlet 过滤器和 Portlet 窗口

 2010-03-30 00:00:00 来源:WEB开发网   
核心提示: 这个程序的主要作用就是在 Render Filter 初始化、过滤器调用,销毁的时候分别打印相应的信息,JSR 286 Portlet 的新特性,第 3 部分: Portlet 过滤器和 Portlet 窗口(5),和 Action Filter 一样,读者同样需要注意过滤链传递的问题,可以影射

这个程序的主要作用就是在 Render Filter 初始化、过滤器调用,销毁的时候分别打印相应的信息。和 Action Filter 一样,读者同样需要注意过滤链传递的问题。

编辑 portlet.xml 文件,加入如下片断:

清单 6. Render 过滤器定义

<portlet-app ...> 
  ... 
  <filter> 
    <display-name>TestRenderFilter</display-name> 
    <filter-name>TestRenderFilter</filter-name> 
    <filter-class>com.ibm.samples.jsr286.filters.TestRenderFilter</filter-class> 
    <lifecycle>RENDER_PHASE</lifecycle> 
  </filter> 
  ... 
</portlet-app> 

定义 Render 过滤器映射,可以影射到具体某个 Portlet, 或者根据模式匹配到一组 Portlet:

清单 7. Render 过滤器映射

... 
<filter-mapping> 
  <filter-name>TestRenderFilter</filter-name> 
  <portlet-name>*</portlet-name> 
</filter-mapping> 
... 

在清单 7 的定义中,我们声明 TestRenderFilter 对所有 Portlet 的 render 调用进行拦截。

重启 Web 应用程序并将多个 Portlet 部署到 "Test JSR 286 Portlet Page"页面, 访问该页面,Eclipse Console 出现多个如下输出:

清单 8. Render 过滤器调用结果

... 
2008-3-16 22:53:11 com.ibm.samples.jsr286.filters.TestRenderFilter init 
信息: render filter [TestRenderFilter] is initialized. 
2008-3-16 22:53:11 com.ibm.samples.jsr286.filters.TestRenderFilter doFilter 
信息: render filter [TestRenderFilter] is called. 
2008-3-16 22:53:11 com.ibm.samples.jsr286.filters.TestRenderFilter destroy 
信息: render filter [TestRenderFilter] is destroyed. 
... 

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:JSR Portlet 特性

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接