所以我试图将表单中的值传递给控制器。然后控制器使用这些值来创建“课程”。我似乎无法传递数据,但正在创建课程。 这是我的观点
#{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);
}
答案 0 :(得分:2)
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);
}
答案 1 :(得分:0)
在您的视图中,您可以将您的数据名称替换为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);
}