有没有办法在Jetspeed2 Portlet / Portal中访问URL参数?
喜欢:www.bla.com/portal/page.psml?param = 12345
我只能为liferay(PortalUtil.java)找到一些工具来访问httpservletrequest,但据我所知,jetspeed没有这样的东西?
我认为公共渲染参数可用于此类事情,但我在这里有点困惑?以前没有人有这个问题吗?
提前感谢:)
答案 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");
然后,您将拥有完整的页面引用,以便您可以解析查询字符串。