得到scala的值一些(文字)

时间:2013-09-26 06:54:25

标签: scala playframework playframework-2.0

我的表单中有一些字段,其值是可选的。现在,如果在这些字段中插入值,则返回Some(* the_input_value *)如果未插入,则返回None。如果没有插入,我想获取值null,如果插入则插入值。怎么了?救命啊! 这是我的班级:

case class Registration(
fname:Option[String], 
lname:Option[String],user_email:String,
user_password:String,
gender:Option[String]
)

这是我的表格映射:

val registrationForm=Form(
mapping(
  "fname"->optional(text), 
  "lname"->optional(text),
  "user_email"->text, 
  "user_password"->text,
  "gender"->optional(text)
  )(Registration.apply)(Registration.unapply)

);

这是我的表格:

@(registrationForm:Form[Registration])

@helper.form(routes.Application.registration_process){      
    @helper.inputText(registrationForm("fname"),'_label->"First Name")
@helper.inputText(registrationForm("lname"),'_label->"Last Name")
@helper.inputText(registrationForm("user_email"),'_label->"Email")
@helper.inputPassword(registrationForm("user_password"),'_label->"Password")
@helper.inputPassword(registrationForm("re-password"))
@helper.inputText(registrationForm("gender"),'_label->"Gender")

<input type="submit" value="Register">
}
}

1 个答案:

答案 0 :(得分:2)

最好和最短的方法是使用orNull

scala> val op = Option("String")
op: Option[String] = Some(String)

scala> val res = op.orNull
res: String = String

但我强烈建议不要使用null。更好op.getOrElse("")