我怎样才能得到一个PortletRequest
我的问题是,从HttpServletRequest
我怎样才能得到一个PortletRequest
获得PortletRequest
我把这个句子翻译:
PortletRequest request = (PortletRequest) HttpServletRequest.getAttribute();
我应该投入.getAttribute();
当我在IBM的Portlet开发工厂,我用.getAttribute(Constants.PORTLET_REQUEST)
常量合为一体.jar
现在我需要在JSR168
与Portlet
做到这一点还是有另一种方式来获得PortletRequest
不使用HttpServletRequest
我希望你能帮助我
我假设,因为你有你正在编写一个servlet一个HttpServletRequest和没有PortletRequest。这意味着你不会有PortletRequest。您需要编写Portlet才能获得PortletRequests,在这种情况下,API接口和Portlet容器将提供PortletRequest。
我不知道Portlet Factory的内部如何工作,您需要获得像那样的PortletRequest,但那不是典型的portlet编程。
你说你正在制作一个JSR 168 portlet。
在这种情况下,您的portlet类必须实现javax.portlet.Portlet
为了实现该接口您实现:
render(RenderRequest, RenderResponse)
和
processAction(ActionRequest, ActionResponse)
这些由portlet被称为容器当它决定渲染你的portl或者从您的portlet处理用户操作。
请求对象RenderRequest
和ActionRequest
是PortletRequest
s。所以你直接把它作为一个参数,你不必为它查询某些东西。
您可以使用这样的事情:
(PortletRequest) request.getAttribute("javax.portlet.request");
(PortletResponse) request.getAttribute("javax.portlet.response");
请求和响应的HTTPServletRequest
和HTTPSevletResponse
。
好吧,我现在从RenderRequest和ActionRequest的父是PortletRequest,但我怎么得到它。 ActionRequest arequest = new ActionRequest(); 就是这样吗? – EddyR
将它作为第一个参数传递给您的'processAction'方法,该方法由portlet容器调用(您不调用此方法)。 – npskirk
感谢您的帮助!!!!!我做的 – EddyR