如何在控制器中传递参数值

Posted

技术标签:

【中文标题】如何在控制器中传递参数值【英文标题】:how to pass parameter value in controller 【发布时间】:2017-07-01 11:49:52 【问题描述】:

我有这个代码

class UserController @Inject() (var factory:FactoryHandler) extends Controller 

FactoryHandler.scala

class FactoryHandler(s:String) 

如何在 playframework-2.4 中的 UserController 中传递“s”参数一个值,请帮助我想为进一步的任务填写此参数

【问题讨论】:

【参考方案1】:

应该避免以某种方式改变 Injected 对象的状态,因为这个 Injected 对象也可以被其他一些控制器使用,并且修改状态会导致不必要的错误。

一个理想的函数式解决方案是将这个注入的类更改为案例类或在类中自己实现一个复制方法。

case class FactoryHandler(s: String)
class UserController @Inject() (var factory:FactoryHandler) extends Controller 

  val updatedFactory = factory.copy(s="Updated Value")

  furtherProcessing(updatedFactory)

【讨论】:

以上是关于如何在控制器中传递参数值的主要内容,如果未能解决你的问题,请参考以下文章

如何将复杂的键值参数表单视图传递给mvc中的控制器?

如何通过 FromQuery 参数将“System.Object”类型传递给控制器

Lumen:如何从路由向控制器传递参数

在C语言中参数是如何传递的?

如何使用 AJAX 将数据从视图传递到控制器

CI中如何在路径中传递多个参数