【问题标题】: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”参数一个值,请帮助我想为进一步的任务填写此参数
【问题讨论】:
标签:
java
scala
playframework
playframework-2.4
【解决方案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)
}