我试图在我的控制器上单击提交时读取输入字段数据。
我的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来做到这一点
我看到的第一件事是您的路线被定义为GET请求,但您发送的表单带有帖子请求。因此,Play不会找到您的路线,也不会根据您的要求选择另一条路线。您的路线应如下所示:
POST /email_auth controllers.HomeController.email_auth
要渲染不同的视图,您只需将其导入Controller并在返回方法中调用其render方法即可。如果要渲染名为my_view.scala.html
的视图,则需要返回ok(my_view.render());
。
我也尝试了你的代码,参数被打印到控制台。因此,您想要的电子邮件已保存到变量response
。