玩!框架 - 处理POST请求 [英] Play! framework - handle a POST request

查看:156
本文介绍了玩!框架 - 处理POST请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是处理登录POST请求的路由:

this is the route to handle the login POST request:

POST  /login/submit                 controllers.Users.loginSubmit(user : String, password : String)

这是login.scala.html:

this is the login.scala.html:

<form method="post" action="???">
  <input type="text" name="username" /><br/>
  <input type="password" name="password" /><br/>

  <input type="submit" value="Login" />
</form>

我有两个问题:


  1. 行动的价值应该是多少?是登录/提交?

  2. 如何传递此表单以在loginSubmit函数中处理?

谢谢

推荐答案

如果它是 POST 表单,你不需要在路由中声明params

If it's POST form, you don't need to declare params in the route:

POST  /login/submit           controllers.Users.loginSubmit()

模板:

<!-- syntax: @routes.ControllerName.methodName() -->
<form method="post" action="@routes.Users.loginSubmit()">
  <input type="text" name="username" /><br/>
  <input type="password" name="password" /><br/>

  <input type="submit" value="Login" />
</form>

导入:

import play.data.DynamicForm;
import play.data.Form;

控制器:

public static Result loginSubmit(){
    DynamicForm dynamicForm = Form.form().bindFromRequest();
    Logger.info("Username is: " + dynamicForm.get("username"));
    Logger.info("Password is: " + dynamicForm.get("password"));
    return ok("ok, I recived POST data. That's all...");
}



模板表格助手



还有表单模板助手可用于在Play模板中创建表单,因此可以像:

Template form helpers

There are also form template helpers available for creating forms in Play's template so the same can be done as:

@helper.form(action = routes.User.loginSubmit()) {
    <input type="text" name="username" /><br/>
    <input type="password" name="password" /><br/>

    <input type="submit" value="Login" />
}

在处理大型和/或预先填写表格

这篇关于玩!框架 - 处理POST请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆