如何学做网站,wordpress幻灯片插件,seo从0到1怎么做,梅州做网站设计公司与Play Framework 2.0一起使用发布的值而不定义表单映射#xff0c;可能不像Play 1.x那样明显#xff0c;这就是为什么我要编写此快速备忘单。 对于此快速示例#xff0c;让我们定义以下视图#xff1a; app / views / index.scala.html (message: String)message: messa… 与Play Framework 2.0一起使用发布的值而不定义表单映射可能不像Play 1.x那样明显这就是为什么我要编写此快速备忘单。 对于此快速示例让我们定义以下视图 app / views / index.scala.html (message: String)message: message br /h2Scala form/h2form actionroutes.ScalaPoster.save() methodPOSTscala name: input namescala_name br /scala surname: input namescala_surname br /input typesubmit valuesave
/formh2Java form/h2form actionroutes.JavaPoster.save() methodPOSTjava name: input namejava_name br /java surname: input namejava_surname br /input typesubmit valuesave
/form 和以下路由文件 conf /路由 # Home page
GET / controllers.Application.indexPOST /scala controllers.ScalaPoster.save
POST /java controllers.JavaPoster.save 使用Java直接访问请求正文 app / controllers / JavaPoster.java package controllers;import play.mvc.*;import views.html.*;import java.util.Map;public class JavaPoster extends Controller {public static Result save() {final MapString, String[] values request().body().asFormUrlEncoded();final String name values.get(java_name)[0];final String surname values.get(java_surname)[0];return ok(index.render(String.format(You are %s, %s,surname, name)));}} 或使用DynamicForm package controllers;import play.mvc.*;import views.html.*;import play.data.DynamicForm;public class JavaPoster extends Controller {public static Result save() {final DynamicForm form form().bindFromRequest();final String name form.get(java_name);final String surname form.get(java_surname);return ok(index.render(String.format(You are %s, %s,surname, name)));}} 现在是scala版本可以访问主体 app / controllers / ScalaPoster.java package controllersimport play.api.mvc._object ScalaPoster extends Controller {def save Action { request def name request.body.asFormUrlEncoded.get(scala_name)(0)def surname request.body.asFormUrlEncoded.get(scala_surname)(0)Ok(views.html.index(You are %s, %s.format(surname, name))) }} 并定义一个表格 package controllersimport play.api.mvc._import play.api.data.Form
import play.api.data.Forms.tuple
import play.api.data.Forms.textobject ScalaPoster extends Controller {val form Form(tuple(scala_name - text,scala_surname - text))def save Action { implicit request def values form.bindFromRequest.datadef name values(scala_name)def surname values(scala_surname)Ok(views.html.index(You are %s, %s.format(surname, name))) }} 请注意上述示例中的隐式请求。 您可以将其显式传递给bindFromRequest def values form.bindFromRequest()(request).data 您也可以玩元组并发出类似 val data form.bindFromRequest.getOk(views.html.index(You are %s, %s.format(data._2, data._1))) 要么 val (name, surname) form.bindFromRequest.getOk(views.html.index(You are %s, %s.format(surname, name))) 当然如果您只想读取一个过帐值可以发出 def name Form(scala_name - text).bindFromRequest.get 有几种方法可以实现它。 希望这对您有所帮助。 参考 Play Framework发布了我们的JCG合作伙伴 Sebastian Scarano在“ 玩转Play框架”中 重新审视的价值观 博客。 翻译自: https://www.javacodegeeks.com/2012/07/play-framework-posted-values-revisited.html