java - 在提交时获取请求参数数据
问题描述
我试图在我的控制器上单击提交时读取输入字段数据。
我的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 请求,但您发送表单时带有 post 请求。因此,Play 不会找到您的路线或采取另一条适合您要求的路线。您的路线应如下所示:
POST /email_auth controllers.HomeController.email_auth
要渲染不同的视图,您只需将其导入控制器并在返回方法中调用其渲染方法。如果你想渲染一个叫做my_view.scala.html
你需要返回的视图ok(my_view.render());
。
我还尝试了您的代码,并将参数打印到控制台。所以你想要的电子邮件已经保存到变量response
中。