我正在尝试在grails应用程序中构建一个portlet,并且我创建了一个扩展AbstractController
的简单控制器,它返回
new ModelAndView('myportlet')
的 handleRequestInternal
。我还为Jstl view resolver
设置了标准/WEB-INF/jsp
,但无论我尝试什么,当我尝试在liferay中查看portlet时,我得到以下stacktrace:
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
中解析我的观点吗?
答案 0 :(得分:0)
如果你正在使用Grails,请100%使用它,不要尝试混合使用截然不同的技术。从长远来看,它会为你带来痛苦。