Play Framework 2使用请求.不带操作功能的Sessession值



我是Scala和Play的新手。

我想从视图调用控制器弹药,但我不想返回结果类型。我想做的就是修改请求。

我所做的方法是:1)案例

1)案例

控制器:

def func(id : Int)(implicit request: RequestHeader) = { ... } 

路由:

GET    /cart/cancel/:id    controllers.ProductController.func(id:Int)

,但它给了我一个汇编错误:在这里找不到任何HTTP请求标头

所以我做了另一种方法2)案例

2)案例

控制器:

def func(id : Int) = Action { implicit request => ... Ok()}

是。有效。但是这次我返回了结果类型。所以我有义务更改页面状态

是否有任何方法可以处理不采取行动功能的会话值(没有状态过渡)?

谢谢!

您可以使用案例2,然后做类似:

的事情
Ok().withSession(
  session - "id" + ("id" -> "newID")
)

您可以通过AJAX拨打控制器,例如,将考虑会话的更改,然后将更改应用于UI(如果有),一旦从控制器中获得Ok状态。如果没有明显的更改,那么您可以在此停止,以下所有与应用程序的交互将使用此新会话。

最新更新