绕过grails查看解析器?

时间:2011-04-19 18:29:03

标签: java grails spring-mvc portlet liferay

我正在尝试在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中解析我的观点吗?

1 个答案:

答案 0 :(得分:0)

如果你正在使用Grails,请100%使用它,不要尝试混合使用截然不同的技术。从长远来看,它会为你带来痛苦。