Liferay中通过URL传参数
在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");
直接用ParamUtil不能获取?
获取不到的,你可以尝试一下
actionUrl怎么才能跳转到指定的页面呢?
“一般是有两个Portlet,一个是内容的列表,一个是内容的查看” 有没有新闻发布的例子呀,冷大神。
你好,我是初学者,请问URL 后的参数,MODEL 可以获取吗?中的参数能不能看做 http://xxx/web/hqw/viewarticle?articleId=XXX 吗?
上面中的前面内容是
“` p ` o ` r ` t ` l `e `t `: ` p ` a `r` a `m ` ` ” 怎么显示不了啊