Liferay研究之十八:Page Rendering

上一篇文章中提出了一个问题:在liferay中什么时候,什么地方/c变成/c/portal/layout。

晚上加班,顺便查了查资料,终于找到了问题的答案。

http://wiki.liferay.com/index.php/Page_Rendering 明确的给出了答案。下面简单重复一下:

1、请求由MainServlet进行处理。一些属性被存储到了session和request中。WebKeys.CURRENT_URL保存了当前请求的路径。

2、ServicePreAction被调用,决定调用那个layout, theme进行显示。当前使用的layout被存储在WebKeys.LAYOUT的request属性中。其他可用的layouts存储在request的WebKeys.LAYOUTS属性中。Theme在WebKeys.THEME中,颜色在WebKeys.COLOR_SCHEME中。

3、调用Struts 来处理请求。liferay中使用com.liferay.portal.struts.PortalRequestProcessor。这个类的getLastPath方法,就会返回<protocol>://<hostName>:<port>/portal/layout,p_l_id是一个可选参数。

4、/portal/layout请求就可以通过struts_config的定义来调用LayoutAction执行。http://www.smilingleo.cn

5、其他部分,不在重复了。自己看代码或看别人的资料吧。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值