圣杯。无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“index”的视图

Posted

技术标签:

【中文标题】圣杯。无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“index”的视图【英文标题】:Grails. Could not resolve view with name 'index' in servlet with name 'grailsDispatcherServlet' 【发布时间】:2015-08-06 10:08:09 【问题描述】:

我开始使用 Grails (3.x) 框架,但在尝试将域内容呈现到视图时遇到此错误:

Error 500: Internal Server Error
URI /hello/index
Class javax.servlet.ServletException
Message: Could not resolve view with name 'index' in servlet with name 'grailsDispatcherServlet'

HelloController.groovy:

package helloworld   
class HelloController 

    def index() 
        def Person persona1 = new Person(firstName: "someone", lastName: "stuck", age: 21)
        [persona:persona1]
    

Person.groovy:

package helloworld

class Person 
    String firstName
    String lastName
    int age

【问题讨论】:

你应该能够运行类似grails generate-views .. 的东西来生成视图。 【参考方案1】:

确保grails-app/views/hello/index.gsp 文件存在。

【讨论】:

这不是正确的解决方案。关于视图和模型的文件重定向问题。【参考方案2】:

我知道这有一个答案,但我想我会说我正在使用 Grails 3.0.11,我发现类似下面的代码可以工作

render(view: 'index', model: [data: value])

如果出现上述错误,以下将失败。

def index() 
    [data:value]

如果我有时间,我会更多地研究这个并尝试了解发生了什么。

【讨论】:

这对我有用 gson 视图。有谁知道为什么只返回模型图不起作用?【参考方案3】:

如果您使用的是 GNU/Linux,请检查文件夹名称、文件等是否存在大小写不一致。

grails-app/views/Hello/index.gsp
grails-app/views/hello/index.gsp <-- Not the same

GNU/Linux 区分大小写。

【讨论】:

【参考方案4】:

grails generate-views - 为给定的域类生成 GSP 视图

【讨论】:

以上是关于圣杯。无法解析名称为“grailsDispatcherServlet”的 servlet 中名称为“index”的视图的主要内容,如果未能解决你的问题,请参考以下文章

解析双飞翼布局

响应式布局之浮动圣杯布局(双飞翼布局)—-自适应宽度布局

XSD:无法将名称“类型”解析为(n)“类型定义”组件

无法在 Spring Boot 中解析名称为“index”的视图

javax.servlet.ServletException:无法在名称为“NA-dispatcher”的 servlet 中解析名称为“login”的视图

具有聚合的同义词分析器给出“无法解析名称为 [匹配] 的 BaseAggregationBuilder:找不到解析器”错误