Play Framework 2.5.x始终从模板表单

时间:2017-06-01 13:38:37

标签: java web-applications playframework

我是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>

有人知道我错过了什么吗?

祝你好运

1 个答案:

答案 0 :(得分:0)

在模板定义表单中:Form [HomeController:User]

或尝试@(标签:Hashtable [String,String])