访问JSR 286 Portlet中的URL参数?

时间:2011-03-05 17:40:03

标签: url parameters portlet jsr286 jetspeed2

有没有办法在Jetspeed2 Portlet / Portal中访问URL参数?

喜欢:www.bla.com/portal/page.psml?param = 12345

我只能为liferay(PortalUtil.java)找到一些工具来访问httpservletrequest,但据我所知,jetspeed没有这样的东西?

我认为公共渲染参数可用于此类事情,但我在这里有点困惑?以前没有人有这个问题吗?

提前感谢:)

2 个答案:

答案 0 :(得分:0)

找到了答案:


在版本2.1之前,Jetspeed将门户请求参数与特定于portlet合并  参数,有效地允许“共享”参数。  这与JSR-168 PLT.11不兼容,因此默认情况下已禁用此功能。

通过设置merge.portal.parameters.with.portlet.parameters = true,此功能可以  被“恢复”。  默认情况下,在具有相同名称的portal和portlet参数的情况下  portlet参数将首先在values数组中提供,但这也是如此  可以通过设置merge.portal.parameters.before.portlet.parameters = true

来覆盖

将这两个属性设置为true将提供“旧的”2.1之前的行为。  注意:对于单个portlet,可以通过在jetspeed-portlet.xml中将这些属性设置为元数据来覆盖这些全局设置

<强> merge.portal.parameters.with.portlet.parameters =假 merge.portal.parameters.before.portlet.parameters = false

使用2.0规范中的公共渲染参数

答案 1 :(得分:0)

不知道它是否适用于jetspeed,但你可以试试这样的httprequest:

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");

然后在标题中找到查询字符串,如下所示:

String referer = httpRequest.getHeader("referer");

然后,您将拥有完整的页面引用,以便您可以解析查询字符串。