динамическое имя действия в playframework 2.0 - PullRequest
2 голосов
/ 29 марта 2012

В маршруте, как использовать динамическое имя действия, например, {действие} в 1.x. Есть ли подробный синтаксис для файла маршрута?

В 1.x route будет передавать localhost / page / zzz? Xxx = yyy в действие zzz с маршрутом

GET /{controller}/{action} {controller}.{action}

1 Ответ

3 голосов
/ 29 марта 2012

Вы не можете сделать это на этом уровне. Тем не менее, вы можете написать вызывающий, который будет динамически вызывать действие, используя отражение…

GET  /:controller/:action     controllers.Invoker.invoke(controller, action)

С invoke выглядит так:

object Invoker extends Controller {
  def invoke(controllerName: String, actionName: String) = Action { request =>
    // Retrieve the action using reflection and invoke it
  }
}
...