有没有办法访问Jetspeed2 Portlet/Portal中的URL参数?
喜欢: www.bla.com/portal/page.psml?param=12345
我只能找到一些用于liferay (PortalUtil.java)访问httpservletrequest的工具,但据我所知还没有用于jetspeed的工具?
我以为公共呈现参数可以用来做这样的事情,但是我有点困惑了。以前没有人遇到过这个问题吗?
提前感谢:)
发布于 2011-03-06 17:17:03
找到了答案:
在2.1版之前,Jetspeed将门户请求参数与特定于portlet的参数合并,从而有效地允许“共享”参数。这与JSR-168PLT.11不兼容,因此在默认情况下,现在禁用此功能。
通过设置merge.portal.parameters.with.portlet.parameters=true,可以“恢复”此功能。在门户和portlet参数具有相同名称的情况下,默认情况下,portlet参数将首先在值数组中提供,但这也可以通过设置merge.portal.parameters.before.portlet.parameters=true来覆盖
将这两个属性都设置为true将提供2.1版之前的“旧”行为。注意:对于单个portlets,可以通过将这些属性设置为jetspeed-portlet.xml中的元数据来覆盖这些全局设置
merge.portal.parameters.with.portlet.parameters=false merge.portal.parameters.before.portlet.parameters=false
使用2.0规范中的公共渲染参数
发布于 2012-11-16 22:02:56
不知道它是否适用于jetspeed,但您可以尝试像这样获取httprequest:
HttpServletRequest httpRequest = (HttpServletRequest) request.getAttribute("javax.servlet.request");然后在标题中查找查询字符串,如下所示:
String referer = httpRequest.getHeader("referer");然后,您将拥有完整的页面referer,以便可以解析查询字符串。
https://stackoverflow.com/questions/5205555
复制相似问题