我是Play Framework的新手。我试图开发一个简单的应用程序,有人可以输入他的名字和数字,这应该保存在Hashtable中。
但是当我点击提交按钮时,我总是将“null”作为值。
有人有想法吗?我经历了这么多教程和东西,但我不能这个工作。即使是play java教程中表单的精确副本也行不通。
这是我的代码:
HomeController.java
package controllers;
import play.mvc.*;
import java.util.*;
import models.User;
import play.data.Form;
public class HomeController extends Controller {
Form<User> filledForm = Form.form(User.class);
public Hashtable<Integer, String> hmap = new Hashtable<>();
public Result index() {
return ok(views.html.index.render());
}
public Result saveData() {
User user = filledForm.bindFromRequest().get();
if (filledForm.hasErrors()) {
// process
} else {
// contactForm.get().firstName should be filled with the correct data
System.out.println("Nothing to show here.");
}
System.out.println(user.name);
System.out.println(user.tableNr);
return ok(views.html.index.render());
}
}
models.java
package models;
public class User {
public String name;
public String tableNr;
}
template.html
@(labels: Hashtable[Integer, String])
...
...
...
<form action="@routes.HomeController.saveData()">
<input type="text" name="name" />
<input type="text" name="tableNr" />
<button>Submit</button>
</form>
有人知道我错过了什么吗?
祝你好运
答案 0 :(得分:0)
在模板定义表单中:Form [HomeController:User]
或尝试@(标签:Hashtable [String,String])