1

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

谢谢你。

对于像我这样的新手来说,一个简单的例子将不胜感激:)

4

1 回答 1

3

您可以做的是创建一个过滤器,该过滤器将根据当前的语言环境重定向到适当的控制器。

有关过滤器的更多信息。

编辑:

做这样的事情:

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
                }
            }
        }
    }
}
于 2013-04-12T17:32:14.000 回答