我有一个名为school的班级,里面有学生名单。我需要一个注册页面来注册学校及其所有学生。由于每个学校的学生人数不详,我需要有一个“添加学生”的学生。学校注册中的按钮'页面允许用户逐个添加所有学生。我可以创建一个表单来注册每个学校,但我不确定如何实施“添加学生”#39;功能。
我知道可以添加一名学生'按钮触发学生注册表格的灯箱,但我不知道如何保留每个学生的详细信息,然后将它们与学校记录联系起来;因为学生记录需要学校的ID,反之亦然。请注意我不想提交学校记录然后添加学生记录,我需要同时添加学校和所有学生的详细信息。
@Entity
public class School {
@Id
@GeneratedValue
private long id;
private String name;
private String principal;
private String city;
@OneToMany
private List<Student> students;
....
}
@Entity
public class Student {
@Id
@GeneratedValue
private long id;
private String name;
private int age;
@OneToOne
private School school;
....
}
表格
<s:form method="POST" action="register">
<s:textfield name="name" label="School's name"/>
<s:textfield name="principal" label="Principal"/>
<s:textfield name="city" label="City"/>
</s:form>
答案 0 :(得分:0)
所以,如果我正确理解问题,你有一个页面来创建一个学校实体,在学校创建之后,你想要它然后进入一个页面来注册每个学生。
对于学生列表来说,零是一个完全有效的大小,所以如果没有一个学生,你应该没有问题创建学校。确保将更改保存并保存到数据库。
“添加学生”页面需要传递学校的ID才能将该信息与学生联系到正确的学校。 (在网址中或作为查询字符串http://example.com/register/student?school=23)另一种方法是设置一个可能学校的下拉框,让他们从现有学校中选择他们的学校。
当您创建学生时,您将适当地分配他们的学校ID,并将学生添加到学校的学生列表中。然后通过修改再次将更改保存到DB。