首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Websphere Portal8.5上读取JSR286 portlet中的URL参数

在Websphere Portal8.5上读取JSR286 portlet中的URL参数
EN

Stack Overflow用户
提问于 2014-12-10 03:33:06
回答 3查看 2.1K关注 0票数 0

在IBM Websphere Portal8.5中,如何从JSR286 portlet内的URL获取检索查询字符串参数?

看起来HTTPServletRequest没有传递到PortletRequest。是否需要使用portlet.xml中的配置?它似乎被用来管理ParameterMap之间的通信,但无论如何,我尝试过使用它,但没有成功,每个portlet和portlet都是空的。

我需要设置一些拦截器/过滤器来预处理参数吗?

我不确定这个问题在多大程度上是关于IBM Websphere Portal的,还是仅仅是普通的JSR286 portlets。

EN

回答 3

Stack Overflow用户

发布于 2014-12-13 02:32:50

仅使用portlet规范,我不认为有任何方法可以访问HttpRequest。其背后的思想是,由于portlet不能完全控制整个HTTP请求/响应( portlet容器可以),因此portlet不应该能够访问这些对象。

IBM Portal确实有一个API,您可以调用它来访问它,但是如果您的场景需要它,则可以调用它。下面是我们在Portal8.0上运行的一个my项目的简短代码示例。仔细检查文档是否在8.5中更改了API。

代码语言:javascript
复制
import com.ibm.wps.pb.utils.portlet.PortletUtils;

...

public void doView(RenderRequest request, RenderResponse response) {

    HttpServletRequest httpRequest = PortletUtils.getHttpServletRequest(request)
}
票数 0
EN

Stack Overflow用户

发布于 2015-06-09 08:18:25

尝试(另一个选项):

代码语言:javascript
复制
import com.ibm.ws.portletcontainer.portlet.PortletUtils;

public HttpServletRequest getHttpServletRequest(PortletRequest request) {
        return PortletUtils.getHttpServletRequest(request);
    }

jar (com.ibm.ws.portletcontainer.jar)必须安装在本地的

存储库中。

这个jar位于: WebSphere / AppServer / plugins

票数 0
EN

Stack Overflow用户

发布于 2016-09-22 02:31:26

当使用primefaces桥时要小心,这给了我们方法PortletUtils.getHttpServletRequest是一个RenderRequestWrapper类型的对象,所以有Q做以下操作:

代码语言:javascript
复制
HttpServletRequest requestInsideThePortlet = PortletUtils
.getHttpServletRequest (((RenderRequestWrapper) PortletRequest)
.getPortletRequest ());

这样我们就得到了HttpServletRequest,并且不是空的:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27387296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档