1

我的问题是PortletRequestHttpServletRequest

我放了这句话:

PortletRequest request = (PortletRequest) HttpServletRequest.getAttribute();

我应该把什么放进去.getAttribute();

当我在 IBM Portlet Factory 中开发时,我使用.getAttribute(Constants.PORTLET_REQUEST) 了 The Constants are into one.jar

现在我需要使用 in 来执行此操作PortletJSR168或者有另一种方法可以在PortletRequest不使用的情况下获得HttpServletRequest

我希望你能帮帮我

4

3 回答 3

2

你可以使用这样的东西:

(PortletRequest) request.getAttribute("javax.portlet.request");
(PortletResponse) request.getAttribute("javax.portlet.response");

请求和响应属于HTTPServletRequestHTTPSevletResponse

于 2015-03-30T16:06:47.687 回答
0

我假设您正在编写一个 servlet,因为您有一个 HttpServletRequest 而没有 PortletRequest。这意味着您将没有 PortletRequest。您需要对portlet 进行编程以获取PortletRequest,在这种情况下,API 接口和portlet 容器提供PortletRequest。

我不知道 Portlet Factory 的内部是如何工作的,您需要获得这样的 PortletRequest,但这不是典型的 Portlet 编程。

于 2013-05-21T21:53:33.137 回答
0

您说您正在制作一个 JSR 168 portlet。

在这种情况下,您的 portlet 类应该正在实现javax.portlet.Portlet

要实现该接口,您需要实现:

render(RenderRequest, RenderResponse)

processAction(ActionRequest, ActionResponse)

当 Portlet 容器决定呈现您的 Portlet 或处理来自您的 Portlet 的用户操作时,它们会调用它们。

请求对象RenderRequestActionRequestPortletRequests。因此,您可以直接将其作为参数获取,而不必为它查询某些内容。

于 2013-05-22T13:40:39.143 回答