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

假设我有一堂课Student,另一堂课是Books。与… Student有一对多关系的班级Books

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

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

这是我的JSP文件:

// here student is a parent object and book is a child object having name,author etc details.

<body>

${company} form

<form:form commandName="student" action="../homeController/getDetails"

id="studentForm">

Name:

<form:input path="name" id="name" />

City:

<form:input path="city" id="city" />

<form:input path="books.bookName" id="bookname"/>

<form:input path="books.bookAuthor" id="bookauthor"/>

<button type="submit" name="submit" style="width: 50px; height: 20px;"

value="Submit">Submit</button>

</form:form>

</body>

如果您可以为我提供良好的链接,那也将是很大的帮助。

回答:

您必须为此编写JavaScript,但我会给您一个想法。

在您的JSP中有一个表格可以说name=StudentDataForm。通过这种形式,您可以执行以下操作:

<form name="StudentDataForm" action="/submitStudentData.htm" method="post">

<div id="student1">

Name : <input type="text" id="studentname1" name="studentname" >

City : <input type="text" id="studentcity1" name="city" >

<div id="books>

Books : <input type="text" id="student1book1" name="bookstudent1" >

Books : <input type="text" id="student1book2" name="bookstudent1" >

</div>

</div>

<div id="student2">

Name : <input type="text" id="studentname2" name="studentname" >

City : <input type="text" id="studentcity2" name="city" >

<div id="books>

Books : <input type="text" id="student2book1" name="bookstudent2" >

Books : <input type="text" id="student2book2" name="bookstudent2" >

Books : <input type="text" id="student2book3" name="bookstudent2" >

Books : <input type="text" id="student2book4" name="bookstudent2" >

</div>

</div>

</>

</form>

name相同的实体的概念是相同的,就像学生的所有书籍一样name =

bookstudent2。然后在您的控制器或servlet上,您可以将数据获取为

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

通过执行操作,command

object您只能将其显示在UI上(通过使用正确的路径在命令对象中的Student或Books中进行迭代)。但是,您无法以其他方式做到这一点,这意味着您无法在UI上操作数据并无法通过命令Object发送数据。

不使用JavaScript怎么办?提交表单时如何将子对象的数据与父对象绑定?

如果您有固定数量的学生和固定数量的书,则可以做您想要的。看一下这个链接。但是,如果您想根据我的理解动态地添加“学生”和“书本”,则必须使用上述方法。

以上是 如何在JSP页面上映射一对多关系并在提交页面时存储它们? 的全部内容, 来源链接: utcz.com/qa/408729.html

回到顶部