Liferay中左右布局的示例

2012年12月23日 Liferay 评论 4 条 阅读 9,943 views 次

在博客中的留言中有朋友问在Liferay中怎么实现,左边是导航,右边是具体的portlet内容,点击左边的导航右边的内容变化怎么实现,我理了一下大概有以下几种情况和不同的实现方式。

  • 使用iframe,右边刷新的内容为portlet页面
  • 使用iframe,右边刷新的为普通的JSP页面,而非portlet页面

这两种的实现方式是一样的,无论是portlet页面或者是JSP页面,都是将iframe的src的属性使用JS动态的设置为待刷新的页页的URL。

如果为portlet时,portlet页面URL可以如下定义示例:

<portlet:actionURL var="config" name="save" windowState="<%=LiferayWindowState.POP_UP.toString()%>">
 <portlet:param name="jspPage" value="/html/NewsGatherManager/configGather.jsp"/>
</portlet:actionURL>

则设置iframe的URL的方法如下(使用JQuery):$('#iframeid').attr('src',url);,其中的url为config

如果是IFrame的为普通的jsp页面,则url=${basepath}/html/NewsGatherManager/configGather.jsp,其中的basepath=request.getContextPath();

  • 使用ajax,右边刷新的为普通的JSP页面或html片断

使用ajax的时候,为点击左边导航的时候触发相应的Ajax请求,将返回值的内容填充到相应的元素中。

  • 左右两边为两个不同的portlet,左边为导航,右边为具体的显示内容,通过在URL中传递参数来为右边的portlet刷新不同的内容。

点击左边的导航的时候,重新载入本页面,并动态的修改URL的参数内容。

示例代码下载:点击此处

用户头像

4 条留言  访客:3 条  博主:1 条

  1. 就是liferay portlet actionURL标签执行了action方法但是方法执行完之后不跳转到我指定的页面

  2. 胡总:使用iframe,右边刷新的内容为portlet页面,那样的话内容portlet页面访问是不是只能是一个了的

  3. 直接继承GenericPortlet,我该怎么样弄iframe的呢?

给我留言

您必须 登录 才能发表留言!

Copyright © IT人生录 保留所有权利.   主题设计 知更鸟 滇ICP备16001547号

用户登录

分享到: