簡體   English   中英

如何將響應用於表單數組?[PlayFramework]

[英]How to use Response for Form Array?[ PlayFramework ]

感謝您閱讀我的問題。

如何對表單數組使用響應?

請閱讀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: Form[Torque])

    main("") {
        @form.field("id").value()
        @form.field("title").value()
        @form.field("contents").value()
    }

請幫我。

您沒有確切說明問題所在,但我嘗試猜測。 我可以給你一個替代方案嗎? 它應該與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()處理它。

祝好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM