一尘不染

绕过grails视图解析器?

spring-mvc

我正在尝试在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


阅读 327

收藏
2020-06-01

共1个答案

一尘不染

如果您使用的是Grails,请100%使用它,不要尝试混合各种不同的技术。从长远来看,它将节省您的痛苦。

2020-06-01