gpt4 book ai didi

list - Grails:通过远程链接将列表从GSP传递到 Controller

转载 作者:行者123 更新时间:2023-12-02 15:00:49 24 4
gpt4 key购买 nike

因此,在 Controller ServicioComunitario的方法A中,将其发送到GSP:

tg = ServicioComunitario.findAll("from ServicioComunitario as b where "+query)
[servicioComunitarioInstanceList: tg, params: params]

然后在GSP中,我调用ServicioComunitarioController的另一个方法(generarDocDeReporte):
   <g:set var="b" value="${'xls'}"/>            
<g:set var="a" value="${'excel'}"/>
<g:set var="servicioLista" value="${servicioComunitarioInstanceList}"/>
<g:link controller="ServicioComunitario" action="generarDocDeReporte"
params="${[exportFormat:a, extesion:b, tg: servicioLista] }"
update="mainContent">Excel</g:link><br/>

然后,在新方法“generarDocDeReporte”中,我有:
println params.exportFormat+"-"+params.extesion

if(params.tg)
println "Not empty"

exportFormat和扩展按预期工作,但是params.tg似乎不正常。

我试图在ServicioComunitario.list(params)使用这个新的params.tg:
exportService.export(params.exportFormat, response.outputStream, ServicioComunitario.list(params), fields, labels, formatters, parameters)

这是我得到错误的地方:
exportService.export(params.exportFormat, response.outputStream, params.tg, fields, labels, formatters, parameters)

收到params.tg时,是否需要强制转换?或您认为错误是什么?

提前非常感谢你

最佳答案

您不能仅在链接中传递类似的实例列表。但是,您可以将ID作为参数收集到列表中,然后在以后使用它进行填充。例如:

<g:link controller="ServicioComunitario" action="generarDocDeReporte"
params="${[exportFormat:a, extesion:b, tgids: servicioLista.collect{it.id}.join(',')] }"
update="mainContent">Excel</g:link><br/>

然后在 Controller 中,您需要再次获取列表:
def tg = ServicioComunitario.getAll(params?.tgids?.tokenize(","))

另外,返回模型时,无需将 params分配给 params。按照惯例,这些参数已在GSP中公开。
[servicioComunitarioInstanceList: tg]

关于list - Grails:通过远程链接将列表从GSP传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22941519/

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