soc*_*ket 8 java http web-development-server web playframework-2.0
这是处理登录POST请求的路由:
POST /login/submit controllers.Users.loginSubmit(user : String, password : String)
Run Code Online (Sandbox Code Playgroud)
这是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>
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
谢谢
bie*_*ior 25
如果是POST
形式,则不需要在以下内容中声明参数route
:
POST /login/submit controllers.Users.loginSubmit()
Run Code Online (Sandbox Code Playgroud)
模板:
<!-- 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>
Run Code Online (Sandbox Code Playgroud)
进口:
import play.data.DynamicForm;
import play.data.Form;
Run Code Online (Sandbox Code Playgroud)
控制器:
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...");
}
Run Code Online (Sandbox Code Playgroud)
还有表单模板助手可用于在Play模板中创建表单,因此可以这样做:
@helper.form(action = routes.User.loginSubmit()) {
<input type="text" name="username" /><br/>
<input type="password" name="password" /><br/>
<input type="submit" value="Login" />
}
Run Code Online (Sandbox Code Playgroud)
在处理大型和/或pre-filled
表格时,它们特别有用
小智 5
在 Play Framework 版本 2.5.x Form.form() 已弃用,您应该使用注入 FormFactory
在这里您可以找到示例:来自 Form 类的方法 form(Class) 在 Play 中已弃用!框架
进口:
import play.data.DynamicForm;
import play.data.FormFactory;
Run Code Online (Sandbox Code Playgroud)
注入:
@Inject FormFactory formFactory;
Run Code Online (Sandbox Code Playgroud)
控制器:
public static Result loginSubmit(){
DynamicForm dynamicForm = formFactory.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...");
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
22933 次 |
最近记录: |