读书人

Liferay 4.2 Velocity 模板 render探索

发布时间: 2012-11-12 12:31:58 作者: rapoo

Liferay 4.2 Velocity 模板 render探索 (兼Java remote debug方法)
在 Liferay 4.2 parallel rendering 探索 http://pikachu.iteye.com/blog/39937中我们分析了portal render时的基本过程,但是其中的一个环节


debug
没有反应??
切换到Debug Perspect
Bingo!!


既然调试器已经连接到liferay上了,我们就可以设置断点

在portal-ejb/src下,找到com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil
在Velocity.evaluate设置断点

然后用浏览器打开liferay页面,稍等片刻

马上watch content这个变量

很神奇,竟然是一套模板的内容
仔细查看其中的内容有

打开html\portal\layout\view\portlet.jsp
找到了


最后我们终于把整个环串了起来
LayoutAction->(forward)portal.layout->
(tiles定义)->
html/common/themes/portal.jsp->
(include)portal_normal.jsp->
(include)/portal/layout.jsp->
(include)/portal/layout/view/portlet.jsp(加载template文件)->
RuntimePortletUtil.processTemplate->
Velocity.evaluate(使用template内容作为Velocity模板render)->
TemplateProcessor.processColumn->
PortletColumnLogic.processContent->
带出 /html/portal/load_render_portlet.jsp;

读书人网 >软件架构设计

热点推荐