1
我是新来的Scala和玩。玩框架2工作与Request.session价值没有行动功能
我想从视图中调用一个控制器func,但我不想返回结果类型。 我想要做的是修改Request.session值。
我做的方法是: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()}
是。有效。但是这次我返回了Result类型。 所以我有义务改变页面的状态
有没有办法处理没有动作功能的会话值(没有状态转换)?
谢谢!
如何在不返回'Result'的情况下做到这一点?我的意思是我怎样才能完成**案例1)**没有错误? – Augusto
基本上,你不能,控制器是获取请求并返回响应的东西,而且这个响应必须是有效的响应。意思是,控制器必须返回Ok,NotFound ...这是控制器的定义。在Play中,您必须将控制器定义为某种Action,并且此操作将传递一个返回Result的函数。底线,你只能使用案例2. – Peter
好吧,你说这是一个控制器的定义,我一直在寻找你说的话,但我没有找到任何赞扬的消息来源声称。你能为我提供一个来源吗? – Augusto