JSR 286 Portlet 的新特性,第 3 部分: Portlet 过滤器和 Portlet 窗口
2010-03-30 00:00:00 来源:WEB开发网这个程序的主要作用就是在 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.
...
- ››JSR 303 - Bean Validation 介绍及最佳实践
- ››JSR 286 Portlet 的新特性,第 1 部分: Portlet 2...
- ››JSR 286 Portlet 的新特性,第 2 部分: 资源服务、...
- ››JSR 286 Portlet 的新特性,第 3 部分: Portlet 过...
- ››特性信息
- ››Portlet规范介绍
- ››JSR 198最终草案提交 统一IDE插件标准
- ››JSR 224-Java EE 5 最终草案发布
- ››JSR-220:EJB 3.0 提交最终草案
- ››JSR-184中纹理对象介绍
- ››JSR-223(Scripting for the Java Platform) 实现
- ››JSR 184:3D坐标系和定位总结
更多精彩
赞助商链接