【问题标题】:Bypassing grails view resolvers?绕过grails视图解析器?
【发布时间】: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


【解决方案1】:

如果您使用的是 Grails,请 100% 使用它,不要尝试混合完全不同的技术。从长远来看,它会减轻你的痛苦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 1970-01-01
    • 2014-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多