web-dev-qa-db-ja.com

Grails。 「grailsDispatcherServlet」という名前のサーブレットで「index」という名前のビューを解決できませんでした

Grails(3.x)Frameworkを使い始めましたが、ドメインコンテンツをビューにレンダリングしようとしたときに、このエラーが発生しました。

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
}
10

grails-app/views/hello/index.gsp ファイルが存在しています。

10
zoran119

これには答えがあることはわかっていますが、Grails 3.0.11を使用しているという点でチャイムを鳴らしたいと思い、次のようなコードが機能することがわかりました。

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

以下は上記のエラーで失敗しますが。

def index() {
    [data:value]
}

時間があれば、これをもっと調べて、何が起こっているのかを理解しようとします。

5
Robert

gNU/Linuxを使用している場合は、フォルダー名やファイルなどで大文字と小文字の不一致がないか確認してください。

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

GNU/Linuxでは大文字と小文字が区別されます。

2

grails generate-views -指定されたドメインクラスのGSPビューを生成します

0
TOUDIdel