【发布时间】:2013-04-12 17:27:41
【问题描述】:
我有一个相对较小的应用程序。我的控制器中有 2 个动作,action1 和 action2。我想要的是,如果在美国访问我的应用程序,控制器将调用 action1,如果在英国访问,则调用 action2。我怎样才能做到这一点?有人可以告诉我如何在 URLMappings 或控制器中执行此操作吗?还是他们的另一种方式来做到这一点?
谢谢。
非常感谢像我这样的新手的一个简单示例:)
【问题讨论】:
标签: grails
我有一个相对较小的应用程序。我的控制器中有 2 个动作,action1 和 action2。我想要的是,如果在美国访问我的应用程序,控制器将调用 action1,如果在英国访问,则调用 action2。我怎样才能做到这一点?有人可以告诉我如何在 URLMappings 或控制器中执行此操作吗?还是他们的另一种方式来做到这一点?
谢谢。
非常感谢像我这样的新手的一个简单示例:)
【问题讨论】:
标签: grails
您可以做的是创建一个过滤器,该过滤器将根据当前的语言环境重定向到适当的控制器。
更多关于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
}
}
}
}
}
【讨论】: