如何在grails导出插件的export:formats元素中设置params属性的值
我已经安装了grails导出插件。它有一个元素导出:将参数值作为属性的格式。我想知道如何将其他元素的值设置到这个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
<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))
标签周围贴上
标签您将无法再在控制器中使用
params.extension
,但从格式中找出文件扩展名并不困难。谢谢您的回答。如果我用一个taglib来做,你能提供一些关于我的案例的指针吗?混淆是因为export:formats已经包含按钮,我不清楚如何添加这些参数。我添加了一个示例,说明如何用基于按钮的标记替换export:formats标记。