在提交时获取请求参数数据

时间:2019-03-31 18:26:28

标签: java playframework playframework-2.6

我正在尝试在控制器上单击“提交”以读取输入字段数据。

我的login.scala.html

<form action="@routes.HomeController.email_auth()" method="post">
        Enter your email address :<input type="text" name="username"> <br>
        <input type="submit" value="Login">
    </form>

将此添加到routes

POST     /email_auth                 controllers.HomeController.email_auth

HomeController上阅读,

public Result email_auth() {
        DynamicForm form = formFactory.form().bindFromRequest();
//        if (form.data().size() == 0) {
//            return badRequest("Expceting some data");
//        } else {
            String response = form.get("username");
            System.out.println(response);
//        }
        return ok(email_auth.render());
    }

此外,尝试渲染其他视图。如何使用Java

1 个答案:

答案 0 :(得分:1)

我看到的第一件事是,您的路线被定义为GET请求,但是您发送带有邮政请求的表格。因此,Play不会找到您的路线,也不会按照您的要求选择其他路线。您的路线应如下所示:

POST     /email_auth       controllers.HomeController.email_auth

要渲染不同的视图,只需将其导入到Controller中,然后在return方法中调用其render方法。如果要渲染名为my_view.scala.html的视图,则需要返回ok(my_view.render());

我也尝试了您的代码,参数被打印到控制台。因此,所需的电子邮件已保存到变量response