我正在使用liferay 6.2 GA2。我试试这个时
`RenderResponse renderRespons = (RenderResponse) request.getAttribute("javax.portlet.response");`
我在控制台上遇到了这个错误。
com.liferay.portlet.ResourceResponseImpl cannot be cast to javax.portlet.response
请帮助
答案 0 :(得分:1)
首先:无论您拥有HttpServletResponse
,您可能还有PortletResponse
可用 - 需要以这种方式获取它感觉很奇怪,您可能想重新设计您的架构。
接下来,几乎总是当你不能对类/对象的明显超类(或接口)进行类型转换时,很可能你在类路径上有两次涉及的类,通常是超类。在您的情况下,它可能是 portlet.jar :确保它不包含在项目的 WEB-INF / lib 目录中,因为它已经在全局类路径中可用。< / p>
根据您实际执行此操作的位置,可能会出现另一个类加载问题:当您自己的插件无法访问ResourceResponseImpl
的类定义时(通常没有此访问权限) ),我不确定在这种情况下会出现什么错误信息。