【问题标题】:Evaluate a default parameter at runtime在运行时评估默认参数
【发布时间】:2014-02-16 06:46:02
【问题描述】:

我有一条不是我想要的路线:

GET   /                     controllers.Application.index(someParam = "???")
GET   /:someParam           controllers.Application.index(someParam)

someParam 的值在编译时是未知的,因此应该在运行时进行评估。

事实上,我想做的是,index 必须始终重定向到 index/someParam。因此,如果用户转到/(根路径),他们将被重定向到/someParamsomeParam 在运行时评估)。如果他们去/someWrongParam,他们也会被重定向到/someRightParam,这意味着someParam可以在一些有限的值集中。我希望这不会太复杂。

我看到了这个解决方案https://stackoverflow.com/a/14984873/2813589,但它似乎太复杂了。

我该怎么做?

【问题讨论】:

  • 如果它是一组有限的值,你不能在你的路由中添加一个正则表达式吗?
  • @Ashalynd,这太复杂了。
  • 正则表达式太复杂?那么我不知道什么是简单的...... :)

标签: scala playframework routing playframework-2.2


【解决方案1】:

改为创建两个动作

GET   /                     controllers.Application.blankIndex
GET   /:someParam           controllers.Application.index(someParam)

无参数blankIndex 动作可以获取任何值集,即在Global objectonStart 方法中,然后只需使用给定参数将common redirect 设置为index

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-11
    • 2019-09-20
    • 2020-10-19
    • 1970-01-01
    • 2010-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多