访问 JSR 286 Portlet 中的 URL 参数?

发布于 2024-10-20 14:40:11 字数 256 浏览 7 评论 0原文

有没有办法访问 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

不一样的天空 2024-10-27 14:40:11

找到了答案:


直到版本 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

深府石板幽径 2024-10-27 14:40:11

不知道它是否适用于 jetspeed,但您可以尝试像这样获取 httprequest:

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

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

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

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

Don't know if it works for jetspeed, but you can try getting the httprequest like this:

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

Then find the query string in a header like this:

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

You'll then have the full page referer so you can parse the query string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文