我有一个相对较小的应用程序。我的控制器中有 2 个动作,action1 和 action2。我想要的是,如果在美国访问我的应用程序,控制器将调用 action1,如果在英国访问,则调用 action2。我怎样才能做到这一点?有人可以告诉我如何在 URLMappings 或控制器中执行此操作吗?还是他们这样做的另一种方式?
谢谢你。
对于像我这样的新手来说,一个简单的例子将不胜感激:)
我有一个相对较小的应用程序。我的控制器中有 2 个动作,action1 和 action2。我想要的是,如果在美国访问我的应用程序,控制器将调用 action1,如果在英国访问,则调用 action2。我怎样才能做到这一点?有人可以告诉我如何在 URLMappings 或控制器中执行此操作吗?还是他们这样做的另一种方式?
谢谢你。
对于像我这样的新手来说,一个简单的例子将不胜感激:)
您可以做的是创建一个过滤器,该过滤器将根据当前的语言环境重定向到适当的控制器。
有关过滤器的更多信息。
编辑:
做这样的事情:
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
}
}
}
}
}