Liferay中通过URL传参数

2012年12月25日 Liferay 评论 8 条 阅读 9,797 views 次

在Liferay中会常遇到类似文章查看、内容详情等类似的情况。在传统的web开发中我们一般使用类似这样的URL形式/viewarticle?id=232等这样的形式,在Liferay中其实也可以使用这样的形式,最终的效果是这样的:/web/hqw/viewarticle?articleId=322。

要实现这样的效果一般是有两个Portlet,一个是内容的列表,一个是内容的查看。(示例说明前提如下:)

1、首先将这两个portlet添加到不同的页面中。

2、将新闻详情查看的portlet所在页面的friendlyUR设置为viewarticle(根据自己的情况修改调整)

3、将内容列表的标题部分的a标签的href属性设置为:/web/hqw/viewarticle?articleId=XXX(这里替换为实际的文章ID)

4、点击上面的文章列表的时候浏览器会将地址跳转到http://xxx/web/hqw/viewarticle?articleId=XXX的页面。这个时候会执行文章详细的portlet中的doView方法。

关键点在这里,在这里只要取到URL中的articleId这个参数,就可以根据这个文章id获取到文章的具体内容,将文章的相关信息放到request里面,再在页面中显示。

取这个URL的参数可以使用如下的两行代码:

HttpServletRequest request = PortalUtil.getHttpServletRequest(renderRequest);
 String articleId = PortalUtil.getOriginalServletRequest(request).getParameter("articleId");

 

用户头像

8 条留言  访客:6 条  博主:1 条   引用: 1 条

  1. 直接用ParamUtil不能获取?

  2. actionUrl怎么才能跳转到指定的页面呢?

  3. “一般是有两个Portlet,一个是内容的列表,一个是内容的查看” 有没有新闻发布的例子呀,冷大神。

  4. 你好,我是初学者,请问URL 后的参数,MODEL 可以获取吗?中的参数能不能看做 http://xxx/web/hqw/viewarticle?articleId=XXX 吗?

  5. 上面中的前面内容是

  6. “` p ` o ` r ` t ` l `e `t `: ` p ` a `r` a `m ` ` ” 怎么显示不了啊

来自外部的引用: 1 条

  • Liferay 6开发学习(三十):跨页面Portlet之间的调用与数据传递 | IT人生录

给我留言

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

用户登录

分享到: