繁体   English   中英

Play Framework 1.2.7将表单值传递给控制器

[英]Play Framework 1.2.7 pass form values to controller

所以我试图将表单中的值传递给控制器​​。 然后控制器使用这些值来创建“课程”。 我似乎无法传递数据,但正在创建课程。 这是我的看法

#{form @Courses.save()}
<div>
   Course Name: <input type="text" name="courseName"  />
</div>
<div>
  Course Code: <input type="text" name="courseCode"  /> 
</div>
<div>
  Course Description: <input type="text" name="courseDescription"  /> 
</div>
<div>
  Course Credit: <input type="text" name="courseCredit"  /> 
</div>
<div>
  Course Total Capacity: <input type="text" name="courseTotalCapacity"  /> 
</div>
<div>
  Course Is Active?: <input type="text" name="courseIsActive"  /> 
</div>
<div>
  Course Department: <input type="text" name="department"  /> 
</div>
<div>
   <input type="submit" value="Create Course" /> 
</div>
#{/form}

这是我的控制器方法

public static void save(String course_name, String course_code, String course_description,     String credit, String capacity, String isActive){
    Course course = new Course(course_name, course_code, course_description, credit, capacity, isActive).save();
    course.save();
    renderJSON(course);
}

HTML中的输入名称与actions方法的参数不匹配(而不是course_name您需要编写courseName等,就像在HTML中一样)。

public static void save(String courseName, String courseCode, String courseDescription,     String courseCredit, String courseTotalCapacity, String courseIsActive){
    Course course = new Course(courseName, courseCode, courseDescription, courseCredit, courseTotalCapacity, courseIsActive).save();
    course.save();
    renderJSON(course);
}

在您的视图中,您可以将您的数据名称替换为course.Name,course.Code,...

#{form @Courses.save()}
    <input type="text" name="course.name"  />
    <input type="text" name="course.code"  />
    <input type="text" name="course.description"  />
    ...
#{/}

在你的控制器中,你可以这样写:

public static void save(Course course){
    course.save();
    renderJSON(course);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM