【问题标题】:Upgrade to Grails 2.0: /index.gsp not found升级到 Grails 2.0:找不到 /index.gsp
【发布时间】:2011-12-26 17:42:07
【问题描述】:

我已从 Grails 1.3.7 升级到 2.0.0.RC1:

在解决了很多依赖问题后,我终于设法启动了我的 Grails 应用程序,但是当浏览到 URL 时,它告诉我收到以下信息:

GroovyPagesServlet:  "/index.gsp" not found

它之前完美运行......它在哪里寻找它?

谢谢

乔纳斯

【问题讨论】:

  • 我的 UrlMappings.groovy 有以下条目 "/"(view:"/user/login") 这个视图和控制器存在,当直接浏览到 <host>:<port>/<appName>/user/login 时它可以工作。 UrlMappings 不起作用的任何想法?

标签: grails grails-2.0 run-app


【解决方案1】:

当我根据官方文档添加 SecurityFilters.groovy 时,同样的事情也会发生。 Tomcat 显示错误:未找到“/index.gsp” 另请参阅: http://grails.org/doc/latest/guide/theWebLayer.html#filterTypes

class SecurityFilters {
   def filters = {
       loginCheck(controller: '*', action: '*') {
           before = {
              if (!session.user && !actionName.equals('login')) {
                  redirect(action: 'login')
                  return false
               }
           }
       }
   }
}

其实我觉得官方文档搞错了。之后

redirect(action: 'login')

应该是

return true

【讨论】:

  • 我相信返回值决定了 Grails 是否应该继续处理请求的控制器操作。
【解决方案2】:

编辑UrlMappings.groovy,添加这个,例如: /errorInfo.gsp(查看:/errorInfo)

参考来自: http://grails.1312388.n4.nabble.com/Direct-linking-to-gsp-in-Grails-2-0-td4228929.html

【讨论】:

    【解决方案3】:

    好的,我想通了。 UrlMappings.groovy 中的上述语法不起作用。必须是:

    "/" {
      controller = "user"
      action = "login"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-08
      • 2018-01-28
      • 2017-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多