访问 JSR 286 Portlet 中的 URL 参数?
有没有办法访问 Jetspeed2 Portlet/Portal 中的 URL 参数?
比如:www.bla.com/portal/page.psml?param=12345
我只能找到一些liferay的工具(PortalUtil.java)来访问httpservletrequest,但据我所知jetspeed没有这样的东西?
我认为公共渲染参数可以用于这样的事情,但我在这里有点困惑?以前没有人遇到过这个问题吗?
提前致谢 :)
is there a way to access URL parameters in a Jetspeed2 Portlet/Portal?
like: www.bla.com/portal/page.psml?param=12345
I can only find some tools for liferay (PortalUtil.java) to access the httpservletrequest, but as far as i know there is no such thing for jetspeed?
I thought the public render parameters can be used for such thing, but i'm a little confused here? Didn't anyone had this problem before?
thanks in advance :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
找到了答案:
直到版本 2.1,Jetspeed 将门户请求参数与特定于 portlet 的参数合并在一起
参数,有效地允许“共享”参数。
这不符合 JSR-168 PLT.11,因此默认情况下此功能现已禁用。
通过设置 merge.portal.parameters.with.portlet.parameters=true 此功能可以
被“恢复”。
Portal和Portlet参数同名的情况下,默认
portlet 参数将首先在值数组中提供,但这也是如此
可以通过设置 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 规范中的公共渲染参数
found the answer:
Until version 2.1, Jetspeed merged portal request parameters with portlet specific
parameters, effectively allowing "shared" parameters.
This is not compliant with the JSR-168 PLT.11, so by default this is now disabled.
By setting merge.portal.parameters.with.portlet.parameters=true this feature can
be "restored".
In the situation of portal and portlet parameters with the same name, by default
the portlet parameters will be provided first in the values array, but this too
can be overridden by setting merge.portal.parameters.before.portlet.parameters=true
Setting both these properties to true will deliver the "old" pre-2.1 behavior.
Note: for individual portlets, these global settings can be overridden by setting these properties as metadata in jetspeed-portlet.xml
merge.portal.parameters.with.portlet.parameters=false
merge.portal.parameters.before.portlet.parameters=false
To use public render parameters from the 2.0 spec
不知道它是否适用于 jetspeed,但您可以尝试像这样获取 httprequest:
然后在标头中找到查询字符串,如下所示:
然后您将拥有完整的页面引用,以便可以解析查询字符串。
Don't know if it works for jetspeed, but you can try getting the httprequest like this:
Then find the query string in a header like this:
You'll then have the full page referer so you can parse the query string.