Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JSR286portlet中访问URL参数?_Url_Parameters_Portlet_Jsr286_Jetspeed2 - Fatal编程技术网

在JSR286portlet中访问URL参数?

在JSR286portlet中访问URL参数?,url,parameters,portlet,jsr286,jetspeed2,Url,Parameters,Portlet,Jsr286,Jetspeed2,有没有办法访问Jetspeed2 Portlet/Portal中的URL参数 比如:www.bla.com/portal/page.psml?param=12345 我只能为liferay(PortalTil.java)找到一些工具来访问httpservletrequest,但据我所知,jetspeed没有这样的工具 我以为公共渲染参数可以用于这样的事情,但我在这里有点困惑?以前没有人有过这个问题吗 提前感谢:)找到了答案: 在版本2.1之前,Jetspeed将门户请求参数与特定于portle

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

比如:www.bla.com/portal/page.psml?param=12345

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

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

提前感谢:)

找到了答案:


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

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

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

merge.portal.parameters.with.portlet.parameters=false merge.portal.parameters.before.portlet.parameters=false


要使用2.0规范中的公共渲染参数,我不知道它是否适用于jetspeed,但您可以尝试按如下方式获取httprequest:

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");
String referer = httpRequest.getHeader("referer");
然后在标题中查找查询字符串,如下所示:

HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");
String referer = httpRequest.getHeader("referer");
然后,您将拥有完整的页面引用器,以便可以解析查询字符串