0

我是 grails 的新手(嗯,对所有编程都是新手),但经过一些研究,我决定尝试使用 grails 进行 groovy。

目前我正在努力尝试将数据表与 grails 一起使用......我有一个 DataTable 的下一个初始化代码,它在 php 上运行良好,但是当我将它插入我的 grails 应用程序时,它会自动为我为我的 dataTables.spanish.txt 文件指定的目录,保持我的 DataTable 实例被正确初始化。

¿ 有谁知道我必须如何指定目录才能在 grails 上正常运行?

我的文件位于:/js/tbl/dataTables.spanish.txt

但是当服务器启动时,它将 de 目录解析为 Myapp/ project /js/tbl/dataTables.spanish.txt

Project 是我的域类的名称,该类的视图位于该文件夹中...我希望使该文件独立于视图,因为我想将它用于多个视图。

我的代码目前如下(我不得不注释文件的行以避免错误):

    $(document).ready(function() {
    oTable = $('#example').dataTable({
        "bJQueryUI": true,
        "bSortClasses": false,
        "sPaginationType": "full_numbers",
        "sDom": '<"H"lf>t<"F"Tip>',
        "oTableTools": {
           "aButtons": [
                    {
                        "sExtends":    "csv",
                        "sButtonText": "Exportar"
                    }
                ]
            },
            "bAutoWidth": true,
            "aLengthMenu": [[10, 20, 50, 100,-1], [10, 20, 50, 100,               "Todos"]],
            "iDisplayLength" : 20,
            "oLanguage": {
                             //"sUrl": "/js/tbl/dataTables.spanish.txt"
                }
            });

    });
4

1 回答 1

0

Grails 使用Resources 插件来组织 js 和 css 文件。所以第一步是在ApplicationResources.groovy中将 DataTables 所需的文件声明为资源

modules = {
  dataTables {
    resource url: '/js/tbl/jquery.dataTables.min.js'
    resource url: '/js/tbl/css/jquery.dataTables.css'
  }
}

之后,您可以在 GSP 中要求该模块

<r:require module="dataTables" />

然后声明初始化表的 javascript。

<r:script>
$(document).ready(function() {
  $('#example').dataTable();
});
</r:script>

都工作了吗?现在您可以编辑 dataTable 的选项以满足您的需要。您将西班牙语 txt 文件存储在 js 中,因此您需要在应用程序运行时使用资源来查看文件的位置。

改变

"oLanguage": {
  "sUrl": "/js/tbl/dataTables.spanish.txt"
}

"oLanguage": {
  "sUrl": "${resource(dir: 'js/tbl/', file: 'dataTables.spanish.txt')}"
}                

有一个很好的截屏视频将向您展示资源是如何工作的。

于 2013-03-01T18:42:16.243 回答