gpt4 book ai didi

spring - Grails -- 检查请求是否已经重定向

转载 作者:可可西里 更新时间:2023-11-01 16:30:03 27 4
gpt4 key购买 nike

我在我的项目中使用 Grails 2.3.11。

我有下一个情况:

我有 Controller ,在异常时调用重定向:

class SomeController{
someAction(){
try {
doSmth()
} catch (exception) {
return redirect (action: 'index') //first redirect HERE
}
}
}

我有一个过滤器,它也会在另一个异常时调用重定向。

class BreadCrumbsFilters {


def filters = {

all(
controller: '*',
action: '*'
) {
after = {
if (request.xhr) return

try {
buildBreadCrumbs()
} catch (IllegalArgumentException) {
redirect(controller: 'login', action: 'auth') //second redirect HERE
return false
}
}
}
}
}

重定向不能被调用两次。

问题:如何检查是否已经调用了重定向?

我找到了下一个解决方案:检查响应状态。

if(response.status != 3**) redirect();

这个方法对吗?谢谢!

最佳答案

在 2.3.11 中你可以调用如下:

import org.codehaus.groovy.grails.web.servlet.GrailsApplicationAttributes

request.getAttribute(GrailsApplicationAttributes.REDIRECT_ISSUED)

如果已发出重定向,将返回重定向 URI,如果未发出重定向,将返回 null

关于spring - Grails -- 检查请求是否已经重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36352976/

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