【发布时间】:2011-04-19 18:29:03
【问题描述】:
我正在尝试在 grails 应用程序中构建一个 portlet,并且我创建了一个简单的控制器来扩展 AbstractController 并返回
new ModelAndView('myportlet') 来自handleRequestInternal。我也为/WEB-INF/jsp 设置了标准的Jstl view resolver,但无论我尝试什么,当我尝试在liferay 中查看portlet 时,都会得到以下堆栈跟踪:
13:19:39,723 ERROR [DispatcherPortlet:559] Could not complete request
java.lang.ClassCastException: org.springframework.web.portlet.context.PortletRequestAttributes cannot be cast to org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest
at org.codehaus.groovy.grails.web.util.WebUtils.retrieveGrailsWebRequest(WebUtils.java:497)
at org.codehaus.groovy.grails.web.servlet.view.GrailsViewResolver.loadView(GrailsViewResolver.java:87)
at org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolver.loadView(ScaffoldingViewResolver.java:61)
at org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:158)
at org.springframework.web.servlet.view.UrlBasedViewResolver.createView(UrlBasedViewResolver.java:384)
at org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77)
at org.springframework.web.portlet.DispatcherPortlet.resolveViewName(DispatcherPortlet.java:1110)
似乎如果我能绕过GrailsViewResolver,我应该能够像在普通的 Spring 应用程序中一样启动并运行我的 portlet。
我使用的是 liferay 6,所以不能选择 grails liferay 插件。我能做些什么来确保 GrailsViewResolver 不会尝试解析我在 /WEB-INF/jsp 中的视图吗?
【问题讨论】:
-
您能否分享您的 web.xml、portlet.xml 和您用于 portlet 的任何其他配置 xml?似乎是一些配置问题。没有看到他们不能说太多。 :(
标签: java grails spring-mvc portlet liferay