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

Posted

技术标签:

【中文标题】Play Framework 1.2.7 将表单值传递给控制器【英文标题】:Play Framework 1.2.7 pass form values to controller 【发布时间】:2013-11-18 09:39:28 【问题描述】:

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

#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);

【问题讨论】:

【参考方案1】:

您在 html 中的输入名称与操作方法的参数不匹配(而不是 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);

【讨论】:

【参考方案2】:

在您看来,您可以将数据名称替换为 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);

【讨论】:

以上是关于Play Framework 1.2.7 将表单值传递给控制器的主要内容,如果未能解决你的问题,请参考以下文章

Play Framework 1.2.7 添加选择标签到表单标签作为输入字段

Play framework 2.4 表单填写不起作用

安装 Play Framework 1.2.7 时出现问题

如何通过json暴露play framework 1.2.7中的内部错误消息id?

HikariCP - Play Framework 1.2.7 JMX MBean 监控

play framework 1.2.7 ActionNotFoundException on start