java - 如何解决Liferay中对象不是声明类的实例

标签 java servlets liferay

我正在尝试部署一个图书应用程序,该应用程序将显示一些图书信息,并允许用户添加、删除、删除、上传/下载等。但是,当我尝试部署该应用程序时,我收到错误,对象不是 delaring 类的实例。我不知道如何解决此错误,请帮助我发布我的异常

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);
}

最佳答案

我的猜测是,在您的 showBooks() 或generateUrls() 方法中,您将一个对象强制转换为另一个对象,或者对一个非法的对象执行某些操作。如果您能将上述两种方法的代码贴出来我可以给您更好的答案。

关于java - 如何解决Liferay中对象不是声明类的实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718890/

相关文章:

java - 为什么欧元符号不能在此网页中正常显示?

java - 如何使用 LambdaJ 按字段名称设置列表中对象的字段?

java - 在 servlet 上丢失图像?

java - doGet 调用 doPost 或反之亦然

web-services - 如何在其他应用程序中从 Liferay 获取所有用户和角色信息?

java - 如何使用 CvCameraViewListener 快速访问每一帧的像素颜色

java - GWT:引用已弃用的类 SerializableException

java - Weblogic服务器中的应用程序路径

java - 如何获取liferay 6中portlet的部署和加载过程的时间戳?

liferay - 在 liferay 门户中自定义用户管理的问题