Grails:重定向动作

时间:2013-04-12 17:27:42

标签: grails

我有一个相对较小的应用程序。我的控制器中有2个动作,action1和action2。我想要的是,如果我的应用程序在美国访问,控制器将调用action1,如果在英国访问它,则调用action2。我怎样才能做到这一点?有人可以告诉我如何在URLMappings或控制器中执行此操作吗?或者他们是另一种方法吗?

谢谢。

像我这样的新手的一个简单例子将非常感激:)

1 个答案:

答案 0 :(得分:3)

您可以创建的过滤器将根据当前区域设置重定向到相应的控制器。

有关Filters的更多信息。

修改

做这样的事情:

class LocaleFilters {
    def filters = {
        checkLocale(controller: '*', action: '*') {
            before = {
                if (org.springframework.web.servlet.support.RequestContextUtils.getLocale(request) == Locale.US ) {
                    redirect(action: 'action1')
                    return false
                } else {
                    redirect(action: 'action2')
                    return false
                }
            }
        }
    }
}