1

我正在使用Play框架与Java。预填充表单与数据Play框架

我试图预先填写一份表格与数据并传递给我的模板。这个问题似乎并没有实际填写表格,而是在传递给模板后更多地访问这些值。

型号:

public class Job { 
    private String title; 
    private String employer; 

    public void setJobTitle(String title) { 
     this.title = title; 
    } 

    public void setEmployer(String employer) { 
     this.employer = employer; 
    } 

    public String getJobTitle() { 
     return title; 
    } 

    public String getEmployer() { 
     return employer; 
    } 
} 

控制器:

public static Result editJob() { 

    Job job = new Job(); 
    job.setJobTitle("foo"); 
    job.setEmployer("bar"); 
    Form<Job> jobForm = form(Job.class).fill(job); 

    String message = "Edit Job"; 
    return ok(editJob.render(message, jobForm)); 
} 

查看:

@(message: String, jobForm: play.data.Form[model.Job]) { 

    @helper.form(action = routes.JobController.editJob(), 'enctype -> "multipart/form-data", 'name -> "jobForm"){ 
     <input type="text" name="jobTitle" id="jobTitle" value="@jobForm.getJobTitle"> 
     <input type="text" name="employerName" id="employerName" value="@jobForm.getEmployer"> 
    } 
} 

可能有人请解释如何访问视图模板中的数据。

修复:

@helper.inputText(jobForm(jobForm.get().getJobTitle)) 

感谢,

小号

回答

2

@jobForm.get().title

你也可以使用辅助输入文本字段

@inputText(jobForm("title")) 
+0

感谢您的答复。我已经尝试了这两种方法,包括value =“@ jobForm.get()。getJobtitle”/ value =“@ jobForm.get()。title”/ @ helper.inputText(jobForm(“title”))/ @helper。 inputText的(jobForm( “getJobTitle”))。这些似乎都不适合我......任何建议? – drizzy 2015-03-02 15:28:53

+1

修正:)谢谢。 @ helper.inputText(jobForm(jobForm.get()。getJobTitle)) – drizzy 2015-03-02 15:41:50