1

感谢您阅读我的问题。

如何使用表单数组的响应?

请阅读 printSystem.scala.html

public class Test extends Controller {

    static int form_max_length = 100;   
    static Form<Torque> torqueForm;
    static Torque[] torque = new Torque[form_max_length];
    static int checkData = 0;

    public static Result completeData() {
        torqueForm = form(Torque.class).bindFromRequest();

        for (int checkData=0; checkData<form_max_length; checkData++) {
            if (torque[checkData] != null) {
                checkData++;            
            } else {
                torque[checkData] = torqueForm.get();
                torque[checkData].save();
                break;
            }
        }

        return TODO; 
        }

    public static Result printData() {

        return ok(printSystem.render(torqueForm));

    }
}

扭矩系统.scala.html


@main("") {

<form action="/test" method="POST">
    <div>
        <label> Title </label>
        <input type="text" name="title">
    </div>
    <div>
        <label> Contents </label>
        <input type="text" name="contents">
    </div>
    <div>
        <input type="submit" value="submit">
    </div>
</form>

}

printSystem.scala.html


    @(形式:形式[扭矩])

    主要的(””) {
        @form.field("id").value()
        @form.field("title").value()
        @form.field("内容").value()
    }

请帮我。

4

1 回答 1

0

你没有确切地说出你的问题是什么,但我试着猜测。我可以给你一个替代方案吗?它应该适用于 Play 2.1.x。

您可能想要使用 Map 而不是数组。它也可以作为表单的响应获得。

public static Result completeData() {
    DynamicForm f = play.data.Form.form().bindFromRequest();
    Map<String, String> formData = f.data();

    for (Entry<String, String> entry : formData.entrySet()) {
        String key = entry.getKey();
        if (key.equals("contents")) {
            yourModel.setSomeData(entry.getValue());
        }
    }
}

如果你真的想要你的数组,你可以使用 formData.entrySet().toArray() 来处理它。

祝你好运!

于 2013-09-24T15:57:25.223 回答