grails - Grails从过滤器重定向

标签 grails

我想做的是在grails过滤器中显示在数据库中创建用户时正在加载的微调器图形。需要一段时间才能检索用户凭据,我想显示一个加载微调器。然后,当用户在数据库中创建时,我想显示原始请求的页面。

这是我的问题:我有一个名为accessFilter.groovy的grails过滤器。在之前的部分中,我检查用户是否在数据库中。如果没有,我这样做:

    if(!user){
        render(view:'/loadingCredentials')
        return true
    }

然后在loadingCredentails.gsp中,我调用create用户 Controller 。
    <body onload="callCreateUser()">
        <g:javascript>
            function callCreateUser(){
                window.location = "admin/createuser"
            }
        </g:javascript>
        <div>
            <img alt="Loading..." src="images/puff.svg"></img>
        </div>
    </body>

Controller 关闭并创建用户,然后重定向回主 Controller (或用户最初导航到的任何页面)。它可以正确显示微调框,但可以代替它或创建用户并呈现请求的页面,而只是一次又一次地创建用户。

所以我的问题是...有没有办法让它起作用,还是应该更改我试图完全做到这一点的方式?

最佳答案

我不会为此使用过滤器。如果您要处理特定的操作,则过滤器可能会过大。

您的JS代码应发出AJAX请求,并开始显示微调框, Controller Action 将接受请求并创建用户(可能使用事务服务),并在完成后呈现“OK” JSON。

最后,onSuccess JS回调将隐藏微调框,并可能执行其他操作。

从基于琐碎的基于jQuery的解决方案到具有完善的JS MVC框架的REST驱动的单页应用程序,所有这些步骤都有大量信息。

关于grails - Grails从过滤器重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40644307/

相关文章:

authentication - 登录后Grails 3重定向

grails - 处理 Grails 域类验证错误的最佳方法

performance - Grails应用程序中Groovy ExpandoMetaclass方法的线程阻塞

grails - 动态namedQueries

ajax - 关于Grails中的Ajax的问题

grails - Grails 2.0.0 JUnit测试@RunWith注释等效

mysql - Grails 事务永远不会完成

grails - 使用profile = web-api创建的Grails 3应用程序可以具有gsps吗?

grails - 与Grails开发数据库混淆

spring - Spring Cloud Angel.SR4和Grails 3.0.9无法正常工作