当前位置:  开发笔记 > 编程语言 > 正文

grails索引页面的最佳实践

如何解决《grails索引页面的最佳实践》经验,为你挑选了2个好方法。

在grails应用程序中为索引页填充模型的正确方法是什么?默认情况下没有IndexController,是否有其他机制可以将此列表及其中的列表添加到模型中?



1> Ed.T..:

我不会声称这是正确的方法,但它是开始一切的一种方式.将控制器作为默认值并不需要太多.添加映射到UrlMappings.groovy:

class UrlMappings {
    static mappings = {
      "/$controller/$action?/$id?"{
            constraints {
                // apply constraints here
            }
        }
      "500"(view:'/error')
     "/"
        {
            controller = "quote"
        }
    }
}

然后将索引操作添加到现在的默认控制器:

class QuoteController {

    def index = {
        ...
    }
}

如果您要加载的内容已经是另一个操作的一部分,只需重定向:

def index = {
    redirect(action: random)
}

或者真正得到一些重用,将逻辑放在服务中:

class QuoteController {

    def quoteService

    def index = {
        redirect(action: random)
    }

    def random = {
        def randomQuote = quoteService.getRandomQuote()
        [ quote : randomQuote ]
    }
}


我认为UrlMappings应该读成"/"{controller:"quote"}`.在我将"="更改为":"之前,它对我不起作用.

2> William Piet..:

我无法让Ed T的例子在上面工作.也许Grails从那时起发生了变化?

经过一些实验和网上的一些搜索,我最终得到了UrlMappings.groovy:

    "/"(controller: 'home', action: 'index')

我的HomeController看起来像这样:

class HomeController {

  def index = {
    def quotes = = latest(Quote.list(), 5)
    ["quotes": quotes, "totalQuotes": Quote.count()]
  }

}

views/home,我有一个index.gsp文件.这使得index.gsp视图中的文件不必要,所以我删除了它.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有