Liferay 4.2 Velocity 模板 render探索 (兼Java remote debug步骤)
Liferay 4.2 Velocity 模板 render探索 (兼Java remote debug方法)在 Liferay 4.2 parallel rendering 探
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;