gpt4 book ai didi

grails - 如何在Grails中取消过滤?

转载 作者:行者123 更新时间:2023-12-02 13:54:30 25 4
gpt4 key购买 nike

我正在开发Grails应用程序。域类为“参与者”-在 View 中可以选择一些过滤器。这些过滤器通过相应的 Controller 应用。将过滤器应用于所选内容后,结果将被发布。
现在的问题是,我不知道如何还原那些过滤器或清除它们。显然, View 中的简单HTML重置按钮不起作用,因为已过滤了POST ed结果。

谁能告诉我,如何清除使用的过滤器?我不希望将用户重定向到正常的“列表”操作的硬编码href。有任何想法吗)?

最佳答案

有很多方法可以做您想做的事。一种想法是在与返回所需列表的筛选器操作相同的 Controller 中创建另一个操作。我可以尝试举一个例子,但是从您发布的代码中,您不清楚您来自哪个 View ,清除过滤器或硬编码id(1)id的来源后应显示哪个 View 。另外,您发布的代码是否有可能被修改以解决此问题? getParticipants方法似乎根本没有被调用。

如果您想回答以下一些问题:启动 View ,目标 View (清除过滤器后),涉及的 Controller 以及ID的来源,我可以尝试为您提供更好的答案。

感谢您提供额外的信息。这是一种可能的解决方案。我没有尝试过,因此语法可能不准确,但是可以帮助您入门:

看起来,如果没有筛选器,您将获得 session 的所有参与者。如果正确,那么您可以向ParcipantController.groovy添加类似的操作

def clearFilter = {
def conference = Conference.get(params.id)
def participants = conference.participants
render(view:'list', model:[participants: participants,
participantsTotal: participants.size(),
startDate:conference.start,
endDate:conference.end,
canWrite: accessRightsService.canWrite(request.beholder, conference)])
}

然后,您可以向页面添加标签,而不是像这样的硬编码 anchor 标签:
清除筛选

希望对您有所帮助,
戴夫

关于grails - 如何在Grails中取消过滤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1328100/

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