绕过grails视图解析器? [英] Bypassing grails view resolvers?

查看:91
本文介绍了绕过grails视图解析器?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在grails应用程序中构建一个portlet,并且创建了一个简单的控制器来扩展 AbstractController ,它返回

来自 handleRequestInternal 的新ModelAndView('myportlet')。我还为 / WEB-INF / jsp 设置了标准的 Jstl视图解析器设置,但无论我尝试什么,我尝试在liferay中查看portlet我得到以下stacktrace:

  13:19:39,723错误[DispatcherPortlet:559]可能不完整的申请
java.lang.ClassCastException:org.springframework.web.portlet.context.PortletRequestAttributes不能在组织强制转换为org.codehaus.groovy.grails.web.servlet.mvc.GrailsWebRequest
。 codehaus.groovy.grails.web.util.WebUtils.retrieveGrailsWebRequest(WebUtils.java:497)
在org.codehaus.groovy.grails.web.servlet.view.GrailsViewResolver.loadView(GrailsViewResolver.java:87)
。在org.codehaus.groovy.grails.scaffolding.view.ScaffoldingViewResolver.loadView(ScaffoldingViewResolver.java:61)
在org.springframework.web.servlet.view.AbstractCachingViewResolver.createView(AbstractCachingViewResolver.java:158 )$ or $
在org.springframework.web.servlet.view.UrlBasedViewResolver .createView(UrlBasedViewResolver.java:384)
在org.springframework.web.servlet.view.AbstractCachingViewResolver.resolveViewName(AbstractCachingViewResolver.java:77)
在org.springframework.web.portlet.DispatcherPortlet.resolveViewName (DispatcherPortlet.java:1110)

看来如果我可以绕过 GrailsViewResolver ,我应该能够像我在普通的Spring应用程序中那样运行我的portlet。



我使用liferay 6,所以Grails liferay插件不是一个选项。有什么我可以做的,以确保GrailsViewResolver不会尝试解决我的观点 / WEB-INF / jsp


I'm trying to build a portlet within a grails application, and I've created a simple controller extending AbstractController which returns

new ModelAndView('myportlet') from handleRequestInternal. I also have a standard Jstl view resolver setup for /WEB-INF/jsp but no matter what I try, when I try to view the portlet within liferay I get the following 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)

It seems that if I could get around the GrailsViewResolver, I should be able to get my portlet up and running as I would in a normal spring application.

I'm using liferay 6, so the grails liferay plugin isn't an option. Is there anything I can do to make sure GrailsViewResolver doesn't try to resolve my view in /WEB-INF/jsp?

解决方案

If you're using Grails, use it 100% and don't try to mix wildly different technologies. It'll save you pain in the long run.

这篇关于绕过grails视图解析器?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆