[开发] 请教:将ActionRequest对象转换成HttpServletRequest对象出错
lenceyq
2009-05-04
public void processAction(final PortletConfig config, final ActionRequest req,final ActionResponse res){ ActionRequestImpl reqImpl = (ActionRequestImpl)req; HttpServletRequest httpReq = reqImpl.getHttpServletRequest(); } 在执行以上方法中第一行代码时报错,错误信息如下,请各位帮忙看看怎么解决。 java.lang.ClassCastException: com.liferay.portlet.ActionRequestImpl at com.flextao.cnm.web.configuration.SelfIntroduceConfigurationAction.uploadUserPhoto(SelfIntroduceCon figurationAction.java:89) at com.flextao.cnm.web.configuration.SelfIntroduceConfigurationAction.doProcessAction(SelfIntroduceCon figurationAction.java:33) at com.flextao.cnm.web.configuration.BaseConfigurationAction$1.execute(BaseConfigurationAction.java:41 ) at com.flextao.kernel2.persist.hibernate.TransactionWrapper.withTransaction(TransactionWrapper.java:50 ) at com.flextao.cnm.web.configuration.BaseConfigurationAction.processAction(BaseConfigurationAction.jav a:39) at com.liferay.portlet.portletconfiguration.action.EditConfigurationAction.processAction(EditConfigura tionAction.java:86) at com.liferay.portal.struts.PortletRequestProcessor.process(PortletRequestProcessor.java:177) at com.liferay.portlet.StrutsPortlet.processAction(StrutsPortlet.java:96) at com.liferay.portlet.CachePortlet._invoke(CachePortlet.java:432) at com.liferay.portlet.CachePortlet.processAction(CachePortlet.java:215) at com.liferay.portal.action.LayoutAction.processPortletRequest(LayoutAction.java:401) at com.liferay.portal.action.LayoutAction.processActionRequest(LayoutAction.java:317) at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:153) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) at com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:158) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) at javax.servlet.http.HttpServlet.service(HttpServlet.java:710) at com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:401) at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:630) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:14 9) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:679) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:461) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:399) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:301) at com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:137) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.filters.strip.StripFilter.doFilter(StripFilter.java:88) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.filters.compression.CompressionFilter.doFilter(CompressionFilter.java:109) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.filters.secure.SecureFilter.doFilter(SecureFilter.java:150) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.filters.doubleclick.DoubleClickFilter.doFilter(DoubleClickFilter.java:132) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.layoutcache.LayoutCacheFilter.doFilter(LayoutCacheFilter.java:19 0) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.doFilter(AutoLoginFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.doFilter(VirtualHostFilter.java:17 3) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:98) at com.liferay.portal.servlet.filters.sessionid.SessionIdFilter.doFilter(SessionIdFilter.java:81) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BasePro tocol.java:665) at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) |
|
levin_yuu
2009-05-10
使用PortalUtil的getHttpServletRequest方法可从actionRequest中获取到httpServletRequest:
HttpServletRequest httpServletRequest = PortalUtil.getHttpServletRequest(actionRequest); 具体实现可参考PortalImpl.java中的 getHttpServletRequest(PortletRequest portletRequest)方法。 |