Grails 2.5.0 - 在新的Grails安装

时间:2015-07-17 19:11:19

标签: grails jqgrid

我已经完成的步骤:

  1. 创建新项目
  2. mavenRepo "http://repo.grails.org/grails/core"添加到BuildConfig.groovy
  3. 中的存储库
  4. compile ":easygrid:1.7.1"添加到BuildConfig.groovy
  5. 中的插件中
  6. 使用String firstnameString lastname
  7. 添加域类com.test.Author
  8. 使用def index() { }
  9. 添加控制器com.test.HomeController
  10. 添加文件views/home/index.gsp
  11. 接下来,我将以下内容添加到com.test.HomeController: def authorJQGrid = { domainClass Author gridImpl 'jqgrid' jqgrid { sortname 'firstname' } export { export_title 'Author' pdf { 'border.color' java.awt.Color.BLUE } } columns { firstname lastname } }

    我将以下内容添加到home / index.gsp:

    <!DOCTYPE html> <html> <head> <asset:javascript src="easygrid.jqgrid.js"/> <asset:stylesheet src="easygrid.jqgrid.css"/> </head> <body> <grid:grid id='jqgridinitial' name='authorJQGrid'> <grid:set width="900" caption="Authors"/> </grid:grid> <grid:exportButton name='authorJQGrid'/> </body> </html>

    编译时,我看到以下错误:

    Could not process the EasygridConfig file

    当我尝试访问网页时,出现以下错误:

    [http-bio-8080-exec-9] ERROR errors.GrailsExceptionResolver - 处理请求时发生NullPointerException:[GET] / website / home / 无法在null对象上获取属性'authorJQGrid'。 Stacktrace如下: 消息:处理GroovyPageView时出错:执行标记时出错:无法在null对象上获取属性'authorJQGrid'

    如何让JQGrid正常工作?

1 个答案:

答案 0 :(得分:0)

为了使用插件EasyGrid,必须使用@Easygrid注释控制器(定义网格的位置)。

https://github.com/tudor-malene/grails-petclinic/blob/master/grails-app/controllers/org/grails/samples/OverviewController.groovy中提取的以下示例显示了一个示例:

@Easygrid
class OverviewController {

    def ownersGrid = {
        domainClass Owner
        columns {
            id {
              type 'id'
              enableFilter false
            }
            firstName
            lastName
            address
            city
            telephone
            nrPets {
            enableFilter false
            value { owner ->
                owner.pets.size()
            }
            jqgrid {
                sortable false
            }
            }
        }
    }
}