我的问题是从PortletRequest
HttpServletRequest
我把这句话写成:
PortletRequest request = (PortletRequest) HttpServletRequest.getAttribute();
我应该在.getAttribute();
当我在IBM Portlet Factory中开发时,我使用了.getAttribute(Constants.PORTLET_REQUEST)
常数分为一个.jar
现在我需要在Portlet
中使用JSR168
执行此操作,或者在不使用PortletRequest
的情况下获得HttpServletRequest
的其他方法
我希望你能帮助我
答案 0 :(得分:2)
您可以使用以下内容:
(PortletRequest) request.getAttribute("javax.portlet.request");
(PortletResponse) request.getAttribute("javax.portlet.response");
请求和回复属于HTTPServletRequest
和HTTPSevletResponse
。
答案 1 :(得分:0)
我假设你正在编写一个servlet,因为你有一个HttpServletRequest而没有PortletRequest。这意味着您将没有PortletRequest。您需要编写portlet来获取PortletRequests,在这种情况下,API接口和portlet容器提供PortletRequest。
我不知道Portlet Factory的内部如何工作,你需要获得类似的PortletRequest,但这不是典型的portlet编程。
答案 2 :(得分:0)
你说你正在制作一个JSR 168 portlet。
在这种情况下,您的portlet类应该实现javax.portlet.Portlet
要实现您实现的界面:
render(RenderRequest, RenderResponse)
和
processAction(ActionRequest, ActionResponse)
当portlet容器决定渲染portlet或处理来自portlet的用户操作时,它们会被调用。
请求对象RenderRequest
和ActionRequest
为PortletRequest
。所以你直接得到它作为一个参数,你不必为它查询一些东西。