gpt4 book ai didi

grails - 寻求从最后的http交换保留参数以在将来的交换中使用的最佳方法?

转载 作者:行者123 更新时间:2023-12-02 14:51:42 26 4
gpt4 key购买 nike

我有一个 Controller 函数,我将用来做两件事,呈现一个模板,并使用Grails导出器插件导出一些XML,这是第一次调用该函数:

def individualsReportingSearch() {
params.selectedBatch = selectedBatch
def resultList = recordSearchService.individualSearch(params)
if(params?.format && params.format == "xml"){
response.contentType = grailsApplication.config.grails.mime.types[params.format]
response.setHeader("Content-disposition", "attachment; filename=IndividualRecords.${params.extension}")
exportService.export(params.format, response.outputStream,resultList, [:], [:])
}
else {
render(template: 'indivReportingSearchResults', model: [resultList: resultList, resultCount: resultList.size()])
}
}

else子句将执行,并且模板将呈现,这将显示一个表,该表下方有一个导出按钮,我使用该按钮导出该表中显示的记录,这是导出“按钮”的GSP标记。
<div id="exportBar"><export:formats formats="['xml']" action="individualsReportingSearch"/></div>

问题在于,第二次调用此方法以导出当前在表中显示的记录,因为在第一次调用该方法时,过滤参数不存在,所以它正在导出数据库中的所有记录。因此,模板表可能显示两个记录,因为它是使用名为“resultList”的变量中的过滤结果构建的,但是当我导出时,所有记录都被导出,即使那些未在表中显示的记录也被导出。如何保存在上一次http交换中用于构建模板的那些“旧参数”,以便在从导出按钮中调用该 Controller 方法的第二次调用中,可以将它们添加到参数映射中?谢谢。

最佳答案

您可以将它们放在 session 中的变量中(例如old-params),并让第二个调用使用它们(如果可用)。

关于grails - 寻求从最后的http交换保留参数以在将来的交换中使用的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25511052/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com