如何在JSP页面上映射一对多关系并在提交页面时存储它们?

假设,我有一个class级Student ,另一个是BooksStudentclass与Books有一对多的关系。

现在,我想从学生姓名,城市等用户那里获取数据,并在同一页面上添加Books详细信息,如书名,作者,价格等。 用户可以添加多个Books详细信息(显然)。 然后,我想提交页面,其中包含与父项一起填充的所有嵌套对象(书籍)数据。 我怎样才能做到这一点?

只要满足要求,您可以采用任何其他示例而不是学生和书籍。

这是我的JSP文件:

 // here student is a parent object and book is a child object having name,author etc details.  ${company} form 
Name: City:

如果你能给我一个很好的联系,这也将是一个很大的帮助。

你必须为它写javascript但我会给你这样做的想法。

在你的JSP中有一个表单让我们说name=StudentDataForm 。 在那种forms你做一些像 –

 
Name : City :
Books :
Name : City :
Books : Books : Books :

概念是为同一个实体保持相同的name ,例如学生的所有书籍都有name = bookstudent2 。 然后在您的控制器或servlet上,您可以获取数据

 String[] books = request.getParameterValues("bookstudent2"); 

通过您正在执行的操作获取command object您只能在UI上显示它(通过使用正确的路径在命令对象中迭代Student或Books)。 但是你无法做到这一点意味着你不能操纵UI上的数据并通过命令Object发送它。

如何在不使用javascript的情况下实现这一目标。 如何在提交表单时将子对象的数据与父对象绑定?

如果你有固定数量的学生和固定数量的书籍,你可以做你想要的。 看看这个链接 。 但是如果你想动态添加学生和书籍,就我的理解而言,你必须使用我上面描述的方式。