此刻我正在研究Scala应用程序,用户可以填写表格,提交后将数据保存到这样的会话中,
OrganisationContactDetailsForm.form.bindFromRequest.fold(
formWithErrors => {
BadRequest(register_organisation_contact_details(formWithErrors))
},
formData => {
Redirect(controllers.routes.ConfirmRegisterAnswersController.show()).addingToSession(
"contact_firstname" -> formData.contact_firstname.toString(),
"contact_lastname" -> formData.contact_lastname.toString(),
"contact_email" -> formData.contact_email.toString(),
"contact_phone" -> formData.contact_number.toString()
)
}
)
我为用户提供了一个选项,使他们可以在最终提交代码之前检查其答案,我以一种更简单的形式使用单个会话数据执行以下操作。
def show(): Action[AnyContent] = Action { implicit request: Request[AnyContent] =>
val form = request.session.get(sessionAttrName).fold(RegisterOrganisationForm.form) { name =>
val formModel = RegisterOrganisationForm(name)
RegisterOrganisationForm.form.fill(formModel)
}
showPage(Ok, form)
}
是否可以使用一种以上的会话数据来执行与上面类似的操作?或者有一种更好的方法来存储多个会话数据吗?