Grails-jasper参数

Grails-jasper参数,grails,plugins,jasper-reports,Grails,Plugins,Jasper Reports,我正在使用Jasper插件进行报告。我需要的是向jrxml传递3个参数。在这3个参数中,两个是字符串,一个是列表。我在jrxml中定义了同样的内容。在我的gsp中,我传递的参数如下: <input type="hidden" name="monthIndex" value="${month}" /> <input type="hidden" name="yearIndex" value="${year}" /> <input type="hidden" name="

我正在使用Jasper插件进行报告。我需要的是向jrxml传递3个参数。在这3个参数中,两个是字符串,一个是列表。我在jrxml中定义了同样的内容。在我的gsp中,我传递的参数如下:

<input type="hidden" name="monthIndex" value="${month}" />
<input type="hidden" name="yearIndex" value="${year}" />
<input type="hidden" name="orgList" value="${orgInsList}"/>
params.orgList = params.orgList.tokenize(',')
def reportDef = jasperService.buildReportDefinition(params, request.getLocale(), [data: recordsList])
response.setHeader("Content-disposition", "attachment; filename=\"Report." + reportDef.fileFormat.extension + "\"");
response.contentType = reportDef.fileFormat.mimeTyp
response.characterEncoding = "UTF-8"
response.outputStream << reportDef.contentStream.toByteArray()


这里的
orgInsList
是列表。当我像这样传递参数时,会出现类似不兼容类型的错误。

在调用
jasperService
(而不是调用jasper控制器)之前,请预处理参数。在控制器方法中,使用如下内容:

<input type="hidden" name="monthIndex" value="${month}" />
<input type="hidden" name="yearIndex" value="${year}" />
<input type="hidden" name="orgList" value="${orgInsList}"/>
params.orgList = params.orgList.tokenize(',')
def reportDef = jasperService.buildReportDefinition(params, request.getLocale(), [data: recordsList])
response.setHeader("Content-disposition", "attachment; filename=\"Report." + reportDef.fileFormat.extension + "\"");
response.contentType = reportDef.fileFormat.mimeTyp
response.characterEncoding = "UTF-8"
response.outputStream << reportDef.contentStream.toByteArray()
params.orgList=params.orgList.tokenize(','))
def reportDef=jasperService.buildReportDefinition(参数,request.getLocale(),[data:recordsList])
response.setHeader(“内容处置”、“附件;文件名=\”报告“+reportDef.fileFormat.extension+”\”);
response.contentType=reportDef.fileFormat.mimeTyp
response.characterEncoding=“UTF-8”

response.outputStream在调用
jasperService
(而不是调用jasper控制器)之前,对参数进行预处理。在控制器方法中,使用如下内容:

<input type="hidden" name="monthIndex" value="${month}" />
<input type="hidden" name="yearIndex" value="${year}" />
<input type="hidden" name="orgList" value="${orgInsList}"/>
params.orgList = params.orgList.tokenize(',')
def reportDef = jasperService.buildReportDefinition(params, request.getLocale(), [data: recordsList])
response.setHeader("Content-disposition", "attachment; filename=\"Report." + reportDef.fileFormat.extension + "\"");
response.contentType = reportDef.fileFormat.mimeTyp
response.characterEncoding = "UTF-8"
response.outputStream << reportDef.contentStream.toByteArray()
params.orgList=params.orgList.tokenize(','))
def reportDef=jasperService.buildReportDefinition(参数,request.getLocale(),[data:recordsList])
response.setHeader(“内容处置”、“附件;文件名=\”报告“+reportDef.fileFormat.extension+”\”);
response.contentType=reportDef.fileFormat.mimeTyp
response.characterEncoding=“UTF-8”

response.outputStream您是否有可能发布实际错误,而不是错误的模糊记忆?我认为,发生这种情况是因为您正在传递字符串,而不是Listyes。我想将列表传递给jrxml。我该怎么做呢?如果您有可能发布实际错误,而不是对错误的模糊回忆,我想,这是因为您传递的是字符串,而不是列表是。我想把这个列表传递给jrxml。我该怎么做