java - 绕过 Grails View 解析器?

标签 java grails spring-mvc portlet liferay

我正在尝试在 grails 应用程序中构建一个 portlet,并且我创建了一个简单的 Controller 扩展 AbstractController 返回

new ModelAndView('myportlet') 来自 handleRequestInternal。我还有一个标准的 JSTL view resolver setup for /WEB-INF/jsp 但无论我尝试什么,当我尝试在 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 中的 View ?

最佳答案

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

关于java - 绕过 Grails View 解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5720927/

相关文章:

JavaScript 数组到 java

mongodb - 带有Grails,GORM和MongoDB的UUID的问题

java - Spring MVC,Tile在运行war文件jetty Runner时不渲染jsp页面

spring - 第三方健康端点最佳实践

用于性能跟踪的 Java 自定义注解

Java TCP服务器-android客户端丢包

java - 同步 MDB 通信,最大池大小问题

grails - grails标准 'has at least one'

spring - 授予多个用户访问权限

java - Spring data mongodb 查询skip() 的工作方式不正常。