我有一个相对较小的应用程序。我的控制器中有2个动作,action1和action2。我想要的是,如果我的应用程序在美国访问,控制器将调用action1,如果在英国访问它,则调用action2。我怎样才能做到这一点?有人可以告诉我如何在URLMappings或控制器中执行此操作吗?或者他们是另一种方法吗?
谢谢。
像我这样的新手的一个简单例子将非常感激:)
答案 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
}
}
}
}
}