2015-04-18 21 views
1

我想部署一個書籍應用程序,它將顯示一些書籍信息,並且還允許用戶添加,刪除,刪除,上傳/下載等。但是,當我嘗試部署我得到對象錯誤的應用程序不delaring類的一個實例。我不知道如何解決這個埃羅請幫助我張貼我的例外如何解決對象不是在Liferay中聲明類的實例

14:13:12,567 ERROR [RuntimePageImpl-1][PortletServlet:116] javax.portlet.PortletException: java.lang.reflect.InvocationTargetException 
javax.portlet.PortletException: java.lang.reflect.InvocationTargetException 
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:323) 
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103) 
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:55) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) 
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) 
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) 
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) 
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605) 
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544) 
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:604) 
at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:677) 
at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:406) 
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1242) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:57) 
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:78) 
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53) 
at com.liferay.portlet.PortletContainerImpl._doRender(PortletContainerImpl.java:655) 
at com.liferay.portlet.PortletContainerImpl.render(PortletContainerImpl.java:138) 
at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:141) 
at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126) 
at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:120) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:174) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1) 
at com.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682) 
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593) 
at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.reflect.InvocationTargetException 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:319) 
... 39 more 
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67) 
at com.sun.proxy.$Proxy418.filterRenderURL(Unknown Source) 
at com.liferay.portlet.PortletResponseImpl.doCreateLiferayPortletURL(PortletResponseImpl.java:692) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:773) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:1) 
at com.liferay.portal.security.lang.DoPrivilegedUtil$NoPACL.wrap(DoPrivilegedUtil.java:64) 
at com.liferay.portal.security.lang.DoPrivilegedUtil.wrap(DoPrivilegedUtil.java:26) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:267) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:259) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:281) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:291) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:286) 
at com.msh.base.BookCatalogPortlet.generateUrls(BookCatalogPortlet.java:436) 
at com.msh.base.BookCatalogPortlet.showBooks(BookCatalogPortlet.java:214) 
... 44 more 
Apr 18, 2015 2:13:12 PM org.apache.catalina.core.ApplicationDispatcher invoke 
SEVERE: Servlet.service() for servlet BookCatalog Servlet threw exception 
java.lang.IllegalArgumentException: object is not an instance of declaring class 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67) 
at com.sun.proxy.$Proxy418.filterRenderURL(Unknown Source) 
at com.liferay.portlet.PortletResponseImpl.doCreateLiferayPortletURL(PortletResponseImpl.java:692) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:773) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:1) 
at com.liferay.portal.security.lang.DoPrivilegedUtil$NoPACL.wrap(DoPrivilegedUtil.java:64) 
at com.liferay.portal.security.lang.DoPrivilegedUtil.wrap(DoPrivilegedUtil.java:26) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:267) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:259) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:281) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:291) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:286) 
at com.msh.base.BookCatalogPortlet.generateUrls(BookCatalogPortlet.java:436) 
at com.msh.base.BookCatalogPortlet.showBooks(BookCatalogPortlet.java:214) 
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
at java.lang.reflect.Method.invoke(Unknown Source) 
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:319) 
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103) 
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:55) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) 
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) 
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:116) 
at com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:96) 
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:749) 
at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:605) 
at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:544) 
at com.liferay.portlet.InvokerPortletImpl.invoke(InvokerPortletImpl.java:604) 
at com.liferay.portlet.InvokerPortletImpl.invokeRender(InvokerPortletImpl.java:677) 
at com.liferay.portlet.InvokerPortletImpl.render(InvokerPortletImpl.java:406) 
at org.apache.jsp.html.portal.render_005fportlet_jsp._jspService(render_005fportlet_jsp.java:1242) 
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
at com.liferay.portal.servlet.DirectRequestDispatcher.include(DirectRequestDispatcher.java:57) 
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.doDispatch(ClassLoaderRequestDispatcherWrapper.java:78) 
at com.liferay.portal.servlet.ClassLoaderRequestDispatcherWrapper.include(ClassLoaderRequestDispatcherWrapper.java:53) 
at com.liferay.portlet.PortletContainerImpl._doRender(PortletContainerImpl.java:655) 
at com.liferay.portlet.PortletContainerImpl.render(PortletContainerImpl.java:138) 
at com.liferay.portlet.SecurityPortletContainerWrapper.render(SecurityPortletContainerWrapper.java:141) 
at com.liferay.portlet.RestrictPortletContainerWrapper.render(RestrictPortletContainerWrapper.java:126) 
at com.liferay.portal.kernel.portlet.PortletContainerUtil.render(PortletContainerUtil.java:156) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer._render(PortletRenderer.java:120) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer.access$4(PortletRenderer.java:107) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:174) 
at com.liferay.portal.layoutconfiguration.util.PortletRenderer$PortletRendererCallable.doCall(PortletRenderer.java:1) 
at com.liferay.portal.kernel.executor.CopyThreadLocalCallable.call(CopyThreadLocalCallable.java:69) 
at java.util.concurrent.FutureTask.run(Unknown Source) 
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask._runTask(ThreadPoolExecutor.java:682) 
at com.liferay.portal.kernel.concurrent.ThreadPoolExecutor$WorkerTask.run(ThreadPoolExecutor.java:593) 
at java.lang.Thread.run(Unknown Source) 

14:13:12,583 ERROR [RuntimePageImpl-1][render_portlet_jsp:132] null 
java.lang.IllegalArgumentException: object is not an instance of declaring class 
at com.liferay.portal.kernel.bean.ClassLoaderBeanHandler.invoke(ClassLoaderBeanHandler.java:67) 
at com.liferay.portlet.PortletResponseImpl.doCreateLiferayPortletURL(PortletResponseImpl.java:692) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:773) 
at com.liferay.portlet.PortletResponseImpl$LiferayPortletURLPrivilegedAction.run(PortletResponseImpl.java:1) 
at com.liferay.portal.security.lang.DoPrivilegedUtil$NoPACL.wrap(DoPrivilegedUtil.java:64) 
at com.liferay.portal.security.lang.DoPrivilegedUtil.wrap(DoPrivilegedUtil.java:26) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:267) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:259) 
at com.liferay.portlet.PortletResponseImpl.createLiferayPortletURL(PortletResponseImpl.java:281) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:291) 
at com.liferay.portlet.PortletResponseImpl.createRenderURL(PortletResponseImpl.java:286) 
at com.msh.base.BookCatalogPortlet.generateUrls(BookCatalogPortlet.java:436) 
at com.msh.base.BookCatalogPortlet.showBooks(BookCatalogPortlet.java:214) 
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:319) 
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103) 
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:55) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) 
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) 
at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:112) 
14:27:50,329 INFO [BookCatalogPortlet:180] Entering showBooks method 
14:27:50,332 INFO [BookCatalogPortlet:144] Size of the Database :4 
14:27:50,332 INFO [BookCatalogPortlet:145] Current book count in catalog : 4 
14:27:50,333 INFO [BookCatalogPortlet:506] Support portlet mode edit 
14:27:50,333 INFO [BookCatalogPortlet:506] Support portlet mode help 
14:27:50,333 INFO [BookCatalogPortlet:506] Support portlet mode view 
14:27:50,333 INFO [BookCatalogPortlet:506] Support portlet mode about 
14:27:50,333 INFO [BookCatalogPortlet:506] Support portlet mode config 
14:27:50,334 INFO [BookCatalogPortlet:506] Support portlet mode edit_defaults 
14:27:50,334 INFO [BookCatalogPortlet:506] Support portlet mode preview 
14:27:50,334 INFO [BookCatalogPortlet:506] Support portlet mode print 
14:27:50,335 INFO [BookCatalogPortlet:519] Support window state maximized 
14:27:50,335 INFO [BookCatalogPortlet:519] Support window state minimized 
14:27:50,335 INFO [BookCatalogPortlet:519] Support window state normal 
14:27:50,336 INFO [BookCatalogPortlet:519] Support window state exclusive 
14:27:50,336 INFO [BookCatalogPortlet:519] Support window state pop_up 
14:27:50,341 ERROR [RuntimePageImpl-3][PortletServlet:116]  javax.portlet.PortletException: java.lang.reflect.InvocationTargetException 
javax.portlet.PortletException: java.lang.reflect.InvocationTargetException 
at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:323) 
at javax.portlet.GenericPortlet.render(GenericPortlet.java:233) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:103) 
at com.liferay.portlet.ScriptDataPortletFilter.doFilter(ScriptDataPortletFilter.java:55) 
at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:100) 
at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:64) 

這些GenerateUrls()和showBooks ()方法

private void generateUrls(RenderRequest request, RenderResponse response) 
     throws PortletModeException, WindowStateException { 
    // Render URL for Print hyperlink 
    PortletURL printModeUrl = response.createRenderURL(); 
    if (request.isPortletModeAllowed(new PortletMode("print"))) { 
     printModeUrl.setPortletMode(new PortletMode("print")); 
    } 
    if (request.isWindowStateAllowed(new WindowState("pop_up"))) { 
     printModeUrl.setWindowState(new WindowState("pop_up")); 
    } 
    request.setAttribute("printModeUrl", printModeUrl); 

    // Action URL for upload Toc action 
    PortletURL uploadTocActionUrl = response.createActionURL(); 
    uploadTocActionUrl.setParameter("myaction", "uploadTocAction"); 
    uploadTocActionUrl.setParameter(ActionRequest.ACTION_NAME, 
      "uploadTocAction"); 
    request.setAttribute("uploadTocActionUrl", uploadTocActionUrl); 

    // Render URL for Full Screen hyperlink 
    PortletURL fullScreenUrl = response.createRenderURL(); 
    fullScreenUrl.setWindowState(WindowState.MAXIMIZED); 
    request.setAttribute("fullScreenUrl", fullScreenUrl); 

    // Render URL for Help hyperlink 
    PortletURL helpUrl = response.createRenderURL(); 
    helpUrl.setPortletMode(PortletMode.HELP); 
    request.setAttribute("helpUrl", helpUrl); 

    // Render URL for Home hyperlink 
    PortletURL homeUrl = response.createRenderURL(); 
    homeUrl.setPortletMode(PortletMode.VIEW); 
    request.setAttribute("homeUrl", homeUrl); 

    // Render URL for Preferences hyperlink 
    PortletURL prefUrl = response.createRenderURL(); 
    prefUrl.setPortletMode(PortletMode.EDIT); 
    request.setAttribute("prefUrl", prefUrl); 

    // Render URL for form submission for Adding book 
    PortletURL addBookFormUrl = response.createRenderURL(); 
    addBookFormUrl.setParameter("myaction", "addBookForm"); 
    request.setAttribute("addBookFormUrl", addBookFormUrl); 

    // Action URL for Add Book Action 
    PortletURL addBookActionUrl = response.createActionURL(); 
    addBookActionUrl.setParameter(ActionRequest.ACTION_NAME, 
      "addBookAction"); 
    request.setAttribute("addBookActionUrl", addBookActionUrl); 

    // Action URL for resetting search 
    PortletURL resetActionUrl = response.createActionURL(); 
    resetActionUrl.setParameter(ActionRequest.ACTION_NAME, "resetAction"); 
    request.setAttribute("resetActionUrl", resetActionUrl); 

    // Action URL for searching books 
    PortletURL searchBookActionUrl = response.createActionURL(); 
    searchBookActionUrl.setParameter(ActionRequest.ACTION_NAME, 
      "searchBookAction"); 
    request.setAttribute("searchBookActionUrl", searchBookActionUrl); 

    // Render URL for Refresh Search Results link 
    PortletURL refreshResultsUrl = response.createRenderURL(); 
    refreshResultsUrl.setParameter("myaction", "refreshResults"); 
    request.setAttribute("refreshResultsUrl", refreshResultsUrl); 
} 

@SuppressWarnings("unchecked") 
@RenderMode(name = "VIEW") 
public void showBooks(RenderRequest request, RenderResponse response) 
     throws Exception { 
    logger.info("Entering showBooks method"); 

    //--return if the content is still valid 
    if(isMarkupValid(request, response)) { 
     response.getCacheControl().setUseCachedContent(true); 
     response.getCacheControl().setExpirationTime(100); 
     return; 
    } else { 
     BookDataObject catalog = (BookDataObject) getPortletContext() 
     .getAttribute("bookCatalog"); 
     int currentCountInDatastore = catalog.getBooks().size(); 
     // -- set the currentCountInDatabase as the etag value 
     response.getCacheControl().setETag("" + currentCountInDatastore); 
    } 

    PortalContext context = request.getPortalContext(); 
    printSupportedPortletModes(context); 
    printSupportedWindowStates(context); 
    // --get user attributes user.name.given and user.name.family 
    Map<String, Object> userAttributeMap = (Map<String, Object>) request 
      .getAttribute(PortletRequest.USER_INFO); 
    String firstName = ""; 
    String lastName = ""; 
    if (userAttributeMap != null) { 
     firstName = (String) userAttributeMap.get("user.name.given"); 
     lastName = (String) userAttributeMap.get("user.name.family"); 
     request.setAttribute("firstName", firstName); 
     request.setAttribute("lastName", lastName); 
    } 

    String portalInfo = context.getPortalInfo(); 
    request.setAttribute("portalInfo", portalInfo); 

    // --generate all the URLs that will be used by the portlet 
    generateUrls(request, response); 

    String myaction = request.getParameter("myaction"); 
    if (myaction != null) { 
     logger.info("myaction parameter is not null. Value is " + myaction); 
     request.getPortletSession().setAttribute("myaction", myaction, 
       PortletSession.PORTLET_SCOPE); 
    } else { 
     // -- if myaction is NULL then show the home page of Book 
     // catalog 
     // page 
     request.getPortletSession().setAttribute("myaction", "showCatalog", 
       PortletSession.PORTLET_SCOPE); 
    } 

    // -- send myaction as a request attribute to the BookServlet. 
    request.setAttribute("myaction", request.getPortletSession() 
      .getAttribute("myaction")); 

    // --dynamically obtain the title for the portlet, based on myaction 
    String titleKey = "portlet.title." 
      + (String) request.getPortletSession().getAttribute("myaction"); 
    response.setTitle(getResourceBundle(request.getLocale()).getString(
      titleKey)); 

    // --if the action is uploadTocForm then store the ISBN number of 
    // the 
    // --book for which the TOC is being uploaded. The upload action 
    // will use the ISBN number to create file name -- refer home.jsp 
    // page 
    if (((String) request.getAttribute("myaction")) 
      .equalsIgnoreCase("uploadTocForm")) { 
     request.getPortletSession().setAttribute("isbnNumber", 
       request.getParameter("isbnNumber")); 
    } 

    if (((String) request.getPortletSession().getAttribute("myaction")) 
      .equalsIgnoreCase("showSearchResults")) { 
     request.setAttribute("matchingBooks", request.getPortletSession() 
       .getAttribute("matchingBooks")); 
    } 

    // its important to encode URLs 
    PortletRequestDispatcher dispatcher = request.getPortletSession() 
      .getPortletContext().getRequestDispatcher(
        response.encodeURL("/myservlet/bookServlet")); 
    dispatcher.include(request, response); 
} 
+0

我們可以猜測你的代碼是什麼樣的嗎? –

回答

0

我的猜測是在你的showBooks()或generateUrls ()方法將對象轉換爲另一個對象,或者對非法對象執行某些操作。如果你可以在上述兩種方法中發佈代碼,我可以給你一個更好的答案。

+0

增加了兩種方法sir – lucifer

+0

PortletURL printModeUrl = response.createRenderURL();這行會導致錯誤,但爲什麼它不能創建renderURL – lucifer

0

由於問題在於堆棧跟蹤的深入,我的猜測是在類路徑中有一些文件不應該在那裏,或者在那裏有兩次。確保你在appserver的全局類路徑中有portlet.jar,而不是你的webapp的WEB-INF/lib。 portal-impl.jar也是如此,應該在Liferay中生存,但在其他地方 - 無論是全局還是應用程序。

此外,它可能有助於標記一些行號。你在代碼中有幾個response.createRenderURL的外觀,並且很好地知道問題是在第一次出現還是在一段時間之後。

+0

問題不在於第一個renderUrl,如果我刪除它,那麼在下一個URL中,即PortletURL uploadTocActionUrl = response.createActionURL();我也得到了相同的錯誤行號447 – lucifer

+0

,正如你所建議的,我已經從我的類路徑中刪除了所有jar,並且只有特定於該應用程序的必需jar有commons.fileupload,commons.lang,jstl.1.2那裏需要jar作爲因爲我的應用程序確實上傳和下載文件,但仍然在相同的功能中出現相同的錯誤 – lucifer

相關問題