Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在grails导出插件的export:formats元素中设置params属性的值_Grails_Gsp - Fatal编程技术网

如何在grails导出插件的export:formats元素中设置params属性的值

如何在grails导出插件的export:formats元素中设置params属性的值,grails,gsp,Grails,Gsp,我已经安装了grails导出插件。它有一个元素导出:将参数值作为属性的格式。我想知道如何将其他元素的值设置到这个params属性上,以便我的控制器操作可以使用它 <div id="exportDetail"> <g:select name="reportType" from="${['Daily', 'Weekly Hour', 'Weekly Day']}" ></g:select><br/> <g:datePicker

我已经安装了grails导出插件。它有一个元素导出:将参数值作为属性的格式。我想知道如何将其他元素的值设置到这个params属性上,以便我的控制器操作可以使用它

<div id="exportDetail">
     <g:select name="reportType" from="${['Daily', 'Weekly Hour', 'Weekly Day']}" ></g:select><br/>
     <g:datePicker name="reportStartDate" precision="hour"></g:datePicker><br/>
     <g:datePicker name="reportEndDate" precision="hour"></g:datePicker><br/>
     <export:formats action="exportRollup" formats="['csv', 'excel', 'ods', 'pdf', 'rtf', 'xml']" params="[**how to pass select, datepicker stuff here to controller**]"/>
</div>





您给标记库的参数只会影响Grails呈现的链接。如果希望链接包含在页面呈现后更改的参数,例如日期选择器选择的值,则需要使用Javascript。下面是一个粗略的例子:

 $('.menuButton a').click(function() {
     var target = this.href + '&reportStartDate=' + $('#reportStartDate').val();
     window.location.href = target;
     return false;
 });
理想情况下,导出按钮将提交一个包含日期选择器的表单,而不需要使用Javascript。要做到这一点,您必须编写自己的格式taglib。这将让您开始:

  • 在项目中创建新的标记库。给它
    名称空间='export'
    ,这样它就可以覆盖插件的标记。将
    formats
    标记从
    ExportTagLib
    复制到新的taglib
  • 将标签更改为提交按钮:
    输入(类型:“提交”,名称:“格式”,值:格式)
  • 如果您想要图形按钮,请使用以下选项:
    input(类型:“image”,名称:“format”,值:format,src:g.resource(插件:“export”,目录:“images/skin”,文件:format+”.png))
  • 您现在需要在GSP中的
    标签周围贴上
    标签

  • 您将无法再在控制器中使用
    params.extension
    ,但从格式中找出文件扩展名并不困难。

    谢谢您的回答。如果我用一个taglib来做,你能提供一些关于我的案例的指针吗?混淆是因为export:formats已经包含按钮,我不清楚如何添加这些参数。我添加了一个示例,说明如何用基于按钮的标记替换export:formats标记。